by Jürgen Kress, Berthold Maier, Hajo Normann, Danilo Schmeidel,
Guido Schmutz, Bernd Trops, Clemens Utschig-Utschig, Torsten Winterberg
Part of the Industrial SOA article series
SOA and service-orientation have laid the foundation for a variety of emergent service technology innovations, while the original building blocks of SOA and service-orientation continue to evolve by embracing fundamental service technologies, concepts and practices. These new technology innovations do not replace service-orientation; they use it as their basis. Service-orientation continues to evolve towards a factory approach, towards industrializing integrated platforms, such as BI, master data management (MDM), mobile front-ends, BPM, adaptive processes, Big Data and Cloud Computing - all of which add architectural layers upon SOA-based infrastructure. All of these technologies can interface via standardized data and functions, published as service contracts, in order to avoid redundancy - that's service-orientation. Let's take a closer look.
The amount of data, which companies produce and store tends to grow on an on-going basis. This includes structured data (for example, from ERP systems or data warehouses), as well as unstructured data (for example, from e-mails). With the rise of social media services like twitter, Facebook, Pinterest and the emphasis on Customer Experience Management, the amount of data and data sources has increased dramatically. To integrate all of these data sources through a SOA approach is essential. The models, principles and patterns behind SOA and service-orientation can be applied to formalize interoperability between different data sources to consolidate Big Data solutions via schema-based interfaces, even when canonical data models don't exist between the solutions' underlying data sources.
For example, consider a US customer whose address and zip code are stored in a CRM system but has its state information stored in a data warehouse. An ontology can establish the necessary link to provide the customer information with a combined view. Complex Event Processing (CEP) can be used in order to analyze dependencies between the data. For example, a CEP system can identify patterns between the purchase of an iPhone and a mobile data package. With this information the marketing department is able to develop new services with the aim of increasing revenue. CEP systems and ontologies, as part of an integrated SOA platform, typifies SOA industrialization.
The major goal of cloud computing is to reduce cost, time-to-market and standardize platforms. Independent from the cloud deployment model and the cloud service model, a standardized and contact-based integration into the existing systems, or between cloud solutions, is essential. "SOA is a pre-requisition of Cloud Computing", states gravedigger Anne Thomas Manes.
We can now combining these building blocks into a modern toolkit that fulfills each key business objective a company with loosely coupled services. Figure 1 maps the potential areas of technology innovation with the layers of SOA. This results in an "industrial SOA toolkit", in which tools like an Enterprise Service Bus (ESB) are used "internally" and included under the overall heading of "SOA".
Silo-based solutions are replaced by standardized, component-based solutions. This forms the road to industrial SOA. Let's explore this and the factory approach for SOA in more detail.
Industrial SOA refers to a model that leverages service technology innovations to such an extent that a factory approach toward service production, reuse and composition can be adopted. The current IT landscape is still largely pre-industrial SOA, and the approach of many companies continues to be response and application-oriented to produce either a new application, or a redundant add-on to an existing application to fulfill new requirements. A life insurance company that does not employ service-orientation, for instance, requires their customer whose relative had recently passed away to notify five individual offices.
Many companies do not have sufficient information about their customers or access to a consolidated customer overview on a single interface. The consequence is that they miss out on opportunities for delivering individually tailored services, as well as for social marketing. Additionally, companies that have undergone a merger or acquisition usually cannot present a cohesive front-end that represents the business entities that have become integrated as single business units. The administrative operations of some businesses are so ineffective and outdated that the same data is manually entered into different systems, creating both inefficiencies and room for error.
The combination of a business' accounting records with customer data records that are held in a CRM system in order to establish a consolidated, comprehensive customer view is an example of applying MDM. Implementing this type of MDM application within the context of an initiative that is geared toward completely industrialized SOA is more beneficial than implementation that is performed in isolation.
The most expedient starting point for exploring the potential of SOA is with the SOA Manifesto, which has received industry acclaim through the efforts of the SOA Manifesto Working Group headed by Thomas Erl. This declaration presents a list of values that are essential for promoting a common understanding of the characteristics and priorities of service-oriented solutions. A comparison of these values with those of alternative approaches can help clarify the priorities that define the service-orientation paradigm and, more importantly, those that do not:
These prioritized values serve as an indication of the fundamental shift that IT development practices and management are currently experiencing. Company decisions, objectives, and day-to-day operations should no longer be propelled by local optimization, which still remains the driving force behind most SOA undertakings today. Companies tend to implement several different SOA technologies to determine the most effective approach, a strategy that later necessitates elaborate reworking and consolidation of the different landscapes upon technology maturity.
Standardization in the factory approach does not occur solely at the implementation level, as input from application developers is also required for the design of implementation strategies. Interface-level standardization is crucial for the establishing of formal contracts between distributed parties and the business units and service developers involved. Without strict standardization at the contract level, maintenance efforts will need to be escalated with every additional service as a result of divergent analysis and design technologies.
Business-critical processes require fail-safe, scalable and highly available systems, whose productivity increases once the effectiveness of SOA reference architectures has been verified and governance programs and change management processes are implemented.
A company-wide technical architecture that is centrally defined in a SOA architecture group is the prerequisite for creating services capable of acting as components of overarching processes. SOA governance programs ensure compliance with this architecture, with quality gates helping to monitor various specifications. A standardized and business-oriented vocabulary needs to be formulated, substantiated and shared with both the business and IT sectors to enable business units to directly communicate with the IT segment. Once implemented, discourse on and analysis of business processes, data, reports and workflows can be carried out using this "factory language" to achieve semantic accuracy and reduce causes for error.
The business logic of conventional IT solutions is written in complex lines of code whose modification requires considerable lengths of time, meaning a substantial portion of IT budgets is typically devoted to the maintenance of existing solutions as a means of avoiding code modifications. Comparatively, the segment of SOA solutions that is expressed in conventional programming languages is significantly less than that of traditional solutions. When migrated from middleware suites to centralized and configurable core components, business logic such as rules in rule engines, graphical process modeling processes and table mapping can all be adapted flexibly, without redundancy or requiring any code modifications.
The act of defining contracts and services in the SOA architecture introduces formalization to the IT field, as business users and IT service providers can collaborate to establish mutually agreed upon service levels and pricing models. A consistent architecture comprising both business services and IT services can comprehensively redefine the role of IT at the process level, as per the shift from silos to services. Components recycling and platform construction in relation to service component architecture (SCA), among other components standards, are processes that are revolutionizing production to enable greater flexibility. The result is "series production," also known as batch production, which centrally defines the various functional components in a production line.
A gradual decline in innovative development solutions, which will result from the adoption of service-orientation, can actually lead to a wider variety of functions and services that have higher customizability. Another noteworthy benefit for consideration is cost reduction, which can be achieved for real-world project undertakings whenever the number of parts is reduced through components recycling and the implementation of the granular sourcing strategy.
Adopting the factory approach simplifies the scheduling of software development, as the rollout of services that were developed with similar properties can be repeated along clearly defined routes for the same solution designs. Integrated service testing chains continuously verify and ensure that the level of quality remains at a constant.
Semantically accurate descriptions of core company functions that employ the factory language to outline contractual terms can be used towards the formulation of granular sourcing strategies. This enables management teams to select the appropriate deployment strategy for meeting a range of conditions. Service-orientation and contractual terms are prerequisites for the establishing of a business-motivated understanding of key company functions, through definition of the service contract. This approach enables decision-making on the implementation of various processes, from a coarse-grained level based on function clusters like "CRM" to the fine-grained level of operations like "calculate price." Decision-making on process implementation is enabled for both SOA-based integration into existing systems, and for BI, MDM, and SAAS cloud-based solutions alike.
Discourse on industrial SOA has reached a stalemate on whether or not this technology possesses the potential to achieve only partial and not widespread adoption, and only then in certain contexts. In traditional workplace settings, a project manager may be responsible for a team of professionals that work closely together to meet a fast-approaching deadline. After the adoption of industrial SOA, IT personnel may find themselves part of a global SOA factory that builds one service after another on a SOA conveyor belt.
The reduction of human-driven innovations in application development and design is not the only loss that the IT sector will suffer once industrial SOA has been adopted. Monolithic application architects will be given increasingly limited access to technical components, and will gradually end up fully migrated to centralized entitlement, rule, and process components. Formulating a standardized method of workplace management to cope with these structural changes to personnel roles and duties will be a primary challenge for the IT industry in the upcoming years.
While SOA governance programs can supply management and architecture toolkits to structure and navigate through the industrialization of service-orientation, the topic of organizational impact also needs to be kept in mind. The primary aim of service-orientation is to produce a common language and culture that is shaped and driven by both the budding relationship between the business and IT sectors, and the opportunities to improve user interactions and processes that have been emerging.
This overview is intended as a preface to the following series of articles dedicated to exploring various aspects of industrial SOA.