Zenika Hellas

Newsflash

VMware Acquires WaveMaker
Home SERVICES Enterprise Architecture & SOA
Enterprise Architecture and SOA
E-mail

Adapt or die


 

The contract binding a company to its customers (or users) is simple: one of them has needs and the other must address them. This is simple but, nonetheless, fragile ... the reasons which lead the client to turn to the competition are manifold: less expensive products, poor communication, etc. To anticipate and overcome these potential problems, a company must concentrate primarily on its mere reason of existence: its business.

Everything would be easier if this business, whether it is that of a bank, a telecoms company or even a manufacturer, does not change continuously. In fact, the customer needs and regulations are constantly changing and for that there is nothing the company can do; either it adapts or it dies. Add to this the fact that these changes are evolving faster and faster: the challenge that companies must answer is not to be the biggest but to be the fastest.

The information system is often a major obstacle to the development of an enterprise. Increasingly, the latter depends on technology, this is not without consequences for the business. Nonetheless, some hold the opinion that technology is just a tool. If this was the case though, one would have to exlain how come the companies often spend more time and energy fighting with technology and people who master it rather than dealing with their business?

 

"This is not our fault, it's a computer problem ... "



A major cause for this is the obvious misunderstanding between the business and the technical leaders; the main goal of SOA is to reconcile these two worlds by providing agile solutions to meet business needs and improve the responsiveness of the companies.

To do so, the SOA relies on the following principles:

Simplicity: keeping it simple is a guarantee of efficiency and ensures optimum communication between the business and technology.
Flexibility and maintainability: we have seen, change is constant and is therefore necessary to implement flexible and maintainable systems to ensure their survival at a lower cost.
Reusability: in an information system, it is not uncommon to see a multiplication of modules with similar needs. One of the objectives of SOA is to address this problem by encouraging reuse to reduce drastically abnormalities and increased productivity gains.
Independence from technology: one of many reasons for the business vs technicology conflicts mentioned above is the de facto incompatability between business cycles and technological cycles. Indeed, for the business an application is intended to last for several years while technologies evolve month after month. It is therefore important to foster a strong independence, vis-à-vis, from the latter.
To implement these principles, SOA rellies on a central brick: the service.

 

Everything is a service



Modelining the world to a single entity is not new. Several years ago, the IT professionals modeled the world via functions, then came the objects and now are the services. All these concepts are not opposed, and just as the objects are based on the functions, services are based on objects. They come in response to the shortcomings of the latter: the distributivy

Indeed, a service is distributed, it is also autonomous, reusable and abstract in nature. However, a service is primarily a contract between a supplier and a client and its purpose is to meet the needs of the latter. The era of siloed applications that meet a specific need independently and without contact with the outside environment is gone. For several years, distributed systems have helped open up applications by providing flexibility and productivity ... but in a more or less anarchic way. SOA and service allow us to organize the information system in a coherent and coordinated way on the basis of contracts between a company, its customers, partners, or departments.

SOA is not a revolution but a natural evolution of information systems. SOA is not just born from nothing, it is the fruit of many years of experience, successes and failures that have led business experts, technical architects and developers to rethink the company and its functioning in an optimal way adhering to good design practices.

 

And technology in all this?



The well-oiled mechanics of SOA has an unfortunate tendency to jam when the time of implementation comes. What technology do I choose to implement SOA? The question is simple, but the answer is not. Indeed, the SOA ecosystem is rich and varied:

XML: XML, its universal nature, is an ideal medium for SOA by ensuring simplicity of implementation and interoperability. Keywords: JAXP, SAX, DOM, XSL, XPath

Web Services: for many, Web Services and SOA are one and the same. This classic mistake does not mean to hide the fact that Web Services can be extremely valuable when used properly. Keywords: WS-*, REST, WSDL, SOAP

Message-Oriented Middleware (MOM): it is often overlooked but message queues can be a perfect tool in the implementation of SOA by ensuring the decoupling, and the persistent disconnect between consumers and suppliers. Keywords: JMS, ActiveMQ

Enterprise Integration Pattern (EIP): patterns of integration are a toolbox essential in the successful implementation of an information system providing routing, processing and supervision. Keywords: Apache Camel

BPEL: In the SOA family, BPEL is the orchestrator. BPEL enables the reuse of all services of a system to compose new. Keywords: Oracle BPEL Apache ODE

BSE BSE is a constant source of misunderstanding. A BSE is, whatever one may say, a distributed system that relies on all the bricks discussed above: MOM, Web Services, EIP. The main objective of an ESB is primarily to simplify trade within an information system. Keywords: Apache ServiceMix, OpenESB

Nothing serves if it is just to theorize if it does not lead to anything practical

At first glance, the SOA bricks are multiple and heterogeneous. In the midst of this jungle, it is necessary to approach and work with discernment. Many are reveling in the benefits of SOA but do not put them in practice; Zenika will help you during the preparation phase as well as during the phases of implementation and support. We will give you the choice best suited to your business and your environment.