|
SOA_MC is the name of a software architecture that stands for Service Oriented Architecture - Multiple Client. SOA_MC works with 2 tiers, as shown below. The tiers communicate using http protocol having data over it. The usual data formats are XML, JSON and CSV. # The upper tier contains the clients. These can be of multiple platforms. This why the architecture is called multiple client. In the figure below, the example shows clients as native mobile devices (smartphones & tablets), web servers as clients and native GUI applications. # The lower tier implements the business rules, offering functionality as web services. When designing a new software system, while focusing on the needs typical of 21st century, one often wants the same system to be very suited to the multiple types of clients listed below. # native mobile (mobile phone & tablet) # web server; final user accesses the system through a web client (web browser) on some operating system. # PC GUI native (on some operating system) Advantages The advantages of SOA_MC architecture are listed below # The business rules are written only once for all multiple clients. # There is no need to write all clients at once. The clients can be developed accordingly to the need and development capabilities. # The very same system can be used by the same user by using different software clients, depending on the user needs. For instance: suppose a software system to help users get and provide car rides. A user can subscribe to the system, input his/her profile data, using a web browser at a desktop computer. When walking at some place in the city, the user might want to use the system, and can do that by a convenient native smartPhone client. # This architecture completely separates the business rules and presentation tier, for the web client of the system. This allows to concentrate the business rules team (typically more experienced and more expensive) separated to the presentation team (that sometimes are less experienced and less expensive). The presentation team can use easy to learn script languages such as php, and no harm will ever happen to the stability of the system, because the business rules are maintained by other team. # It is possible to have several different web pages as clients of the same system, and have different presentations for each one. Suppose one develops a system and wishes to sell to several firms (as customers), each one having already its own web page. This can be done, while preserving the graphical identity of each customer. # The separation of tiers implicitly provided by SOA_MC architecture may deliver a less expensive process of developing the software system. Technologies to develop web services There are several technologies to allow the development of web services. Some are listed below. # Apache tomcat & axis2 # Java SE Technologies and Web Services
|
|
|