SOA: Service Oriented Architecture
Rapidly changing business environments favor companies that have achieved a high degree of adaptability. Companies that can quickly adapt their business processes to respond to new market opportunities or competitive threats do so not by accident, but by taking advantage of business strategies supported by flexible business applications and IT infrastructures enabled by a Service Oriented Architecture (SOA).
Service Oriented Architecture is an IT systems approach that organizes information sources and processes as independent services. These services are based on industry-standard protocols that are independent of the underlying technology.
In a Service Oriented Architecture, deployment of these information services might be as simple as the creation of a set of standard web services, or as rich as an implementation based on an Enterprise Service Bus.
Build IT Around Your Business, Not Your Business Around IT
SOA is an architecture, not a technology-a method of conceptualizing, designing, and implementing business software applications and infrastructure. It incorporates centralized and disciplined enforcement of industry standards, assembly of reusable autonomous business functions (also called "services"), and loosely coupled connections between services.
The objective of SOA is to allow businesses to extend the functionality and life of their existing IT assets, reduce architectural complexity, decrease duplication of services and data, and increase business flexibility and agility in responding to market changes. SOA is a way of molding IT technology around the needs of the business, instead of molding the business around IT.
Successful implementations of an SOA are built upon a sound foundation of elements which must all be present:
- Conceptual enterprise architecture-the essential framework
- Business and technical services-the heart of the implementation
- Enabling technologies-tie services together to achieve business functionality, and link SOA into current IT infrastructure and legacy systems
- SOA governance standards, policies, and metrics-control incremental development of over time
- Organizational and behavioral models-continuously evolve to support SOA enterprise architecture
- SOA integration competency center
When these are assembled and aligned to your business needs, SOA offers a compelling opportunity for your business to solve a large number of the integration challenges now facing you. It is not, however, a technical "silver bullet", that can be purchased and deployed quickly, but is an architectural solution which engages the entire enterprise and requires a controlled, iterative process to achieve the "critical mass" of coordinated services that will yield real business value for the enterprise.
Lucid Technologies, Inc's SOA Approach
To be successful, an SOA engagement must place important demands on the enterprise to adjust organizationally, behaviorally, and culturally. Lucid Technologies, Inc has developed a comprehensive methodology and toolset based on industry best practices to ensure that SOA is effectively developed and deployed in close coordination with the business imperatives that drive the enterprise. Lucid Technologies, Inc employs a set of well-orchestrated business discovery and assessment activities during the early stages of SOA engagements to help achieve the executive support so critical to such endeavors.
We also believe that service-oriented architectures, including Web services, can provide simple, reusable, standards-based access to business services, thereby increasing productivity, saving money and time. These services can be exposed through other interfaces including user interfaces such as Web, IVR, WAP, PDA, Portal, XML and system interfaces (EDI, Web Services). Lucid Technologies, Inc can also design IT architectures using Event-Driven Architecture (EDA) and advanced SOA, which are similar to SOA, but differ in technical execution.
Event-Driven Architecture (EDA)
EDA is an architectural style for using software modules/services where the modules are designed to post or receive event notifications. It is typically used in applications such as business process monitoring or algorithmic trading where real-time or near real-time performance is required. Just as services are at the core of SOA, an event is the key artifact in the design of EDA-style applications. Again, just like services in SOA, events must have a business scope to be employed across applications and enterprises.
EDA combines business services into transactions, flows and logical units of work but differs significantly from SOA in the messaging protocol, typically publish-and-subscribe, used in the EDA notification process. EDA also normally uses an intermediary notification broker that decouples the notified and receiver, whereas SOA usually involves direct request-response messaging between the service consumer and service provider.
Advanced SOA (often referred to as SOA 2.0) links the interaction-based SOA and the notification-based EDA patterns within a single architecture. When implemented, the intended goal is that both event processing and SOA messaging will share metadata facilities, middleware messaging resources (such as enterprise service buses, or ESBs), security, management, and other common facilities.
Creating well integrated, advanced SOA applications is challenging because of the current scarcity of tools which combine SOA and EDA design approaches and which support the distinct messaging protocols employed. Lucid Technologies, Inc is uniquely positioned to aid customers in achieving a seamless implementation of these technologies where business requirements dictate that an advanced SOA solution is desirable.