For beginners 4: Software for Java Enterprise Applications
Well, the hardware should be software.
This is the top priority of this series.
First, let's talk about software and unify the concept.
The so-called software is generally a set of computer programs
Computer programs that implement certain functions
A long time ago, the software of a computer was not hierarchical.
A computer has only one system. This system is both an operating system and an application software, and is closely bound with hardware.
After many years of development and development
People put some hardware closely connected and often use essential functions in a set of programs.
This program is called an operating system.
Other dispensable functions that adapt to different environments for different jobs are encapsulated in another program.
This series of programs are called application software.
For example:
-------------------------------------------
| Application software: falshgat/IE/RealPlayer/Winamp... |
-------------------------------------------
| Operating System: Unix/Windows/Linux/Solaris... |
-------------------------------------------
As we know in the previous article, hardware is divided into server workstation and PC
In fact, no matter what kind of hardware software, there are operating systems and application software
OK. Let's talk about the application software.
In enterprise applications, our applications are generally divided into three layers.
The three layers are presentation layer, business logic layer, and data persistence layer.
------------------------------
| Presentation layer | business logic layer | data persistence layer |
------------------------------
Let's talk about the Representative Software in Layer 3.
Presentation Layer
This layer is generally on the client PC, the most common is the IE browser, This is the presentation layer software
The presentation layer is a software that Directly Interacts with users.
Business logic layer
This layer is generally on the server side. As the name suggests, all business logic processing is completed at this layer.
The most typical is appserver, such as IBM WebSphere, BEA WebLogic, and tomcat/JBoss.
This layer is also the focus of the three layers. Most of the content we want to talk about is about this layer, which will be discussed later.
This layer is called the intermediate layer
Data Persistence Layer
This layer is typically a database, which is also on the server side.
However, this server is generally separate from the server where the business logic layer software is installed.
Of course, you can also use the IO input/output stream to write to the hard disk.
But no one would suggest you do this, because your data lacks management, no matter what
What we need to do at this layer is to save data, and the business logic layer software is generally not responsible for retaining data.
In other words, the business logic layer is only responsible for temporarily storing data. Once the data is shut down, all the data in the business logic layer is over.
Therefore, data persistence (that is, data storage) must be completed at this layer.
Let's talk about these concepts. Let's talk about future trends.
Trend 1:
Thin client, a long time ago, when the C/S mode was also called Client/Server
When client software became popular, a PC user used a silly terminal to connect to the server.
Then perform the corresponding operations. The most typical is the c-term that we often use on BBS.
This is the product of that era, as well as the e-term used for booking tickets in China.
Later, browsers became very popular and people found that browsers could also transmit some data.
Although the data is not as accurate as those terminals, it is sufficient to meet most daily needs.
So people proposed the concept of a thin client, that is to say, in the future, all the other software in the presentation layer will be affected?
The only thing we need is a Web browser, which then enters an IP address in the browser to connect to the server.
Then perform related operations. Because Web browsers generally have a built-in
This achieves the goal of slimming our clients (no additional software is required)
This mode is called the B/S mode, that is, the Browser/Server mode.
However, although thin clients are a trend, it does not mean that fat clients do not have a market.
In particular, some complex business operations, or simple software like browsers, are not competent.
Trend 2:
Silly database, OK. First of all, I admit that I invented this term, but I cannot find a better expression.
What is a silly database? If anyone knows something about the database, they will know about the previous database.
Has its own management system, and even has its own clients, such as Oracle, MySQL, and sqlserver.
What SQL statements are written on a management tool to query databases?
In the future, we will advocate encapsulating all business logic into the business logic layer.
Management is done by software, and by software at the business logic layer.
The so-called silly database means that in the future, the database does not need to do anything.
Just save the data to me. What are the complex business logic and Foreign keys and associations?
There is no database, and everything is handed over to the business logic layer software.
The advantage of doing so is that we do not need these obscure and complex database management tools.
In addition, each database has its own tools, which are totally different and messy. No one likes to face them.
In addition to database maintenance personnel, that is, DBA, We are software engineers and let them do maintenance.
In addition, it is strictly prohibited for database maintenance personnel to modify the data in the database. They only perform backup and recover the data if necessary.
After learning about these two trends, is there a sense of cutting the head and removing the tail and preserving the middle?
Yes, the trend in the future is the middleware era. Middleware engineers will be the mainstream of computer applications in the future.
Next, let's unify the concept. What is middleware?
When I went to school, I read IBM's teaching materials and read the definition of middleware for half a day.
Middleware is something that others don't want to do. Now, let's think about it.
What is middleware? middleware is the application software at the business logic layer.
It is an application software that processes business data and business logic between clients.
Server-side application software that provides network services
For example, in online banking, a person wants to use IE to enter the ICBC account and transfer funds
In this example, the client presentation layer is obviously IE, and the data persistence layer is obviously the core database of the bank.
So what is middleware? Middleware is the system that provides such services.
The three layers are divided as follows:
------------------------------
| Presentation layer | business logic layer | data persistence layer |
------------------------------
| Ie | online banking | database |
---------------------------