- Oracle Modernization Solutions
- Jason Williamson Tom Laszewski
- 7671字
- 2021-08-20 17:21:04
SOA Integration
Decisions! You had made some in the last chapter, and now you will be presented with some more. This time, decisions will have to be made on how we move from a rigid, fragile architecture to a more flexible, 'business ready' architecture. In other words, how do we get from source to target? You may think that the quickest and the most flexible option is to build it yourself. Although this is an option many consultants love as they can charge endless hours for doing just that. The products and technologies available today make it much easier and quicker than having to 'reinvent the wheel'.
Implementation Options
Let's have a look at your options. There are basically three options for the implementation of your Legacy SOA Integration solution. You can build it all yourself, buy products from different vendors, and 'glue' everything together, or purchase an end-to-end solution from one vendor. Each option has its strengths and weakness, and your company culture will definitely play a role in the option or options you chose. One of the options can be to choose a mix of the different options. The end goal is to choose an option that is easy to implement, is adaptable and maintainable, and has the lowest cost of total ownership.
Architects and developers hear about things such as REST, XML, Java messaging, TCP/IP connects to mainframes, and MQSeries. Why can't we just build something? That would be very cool. Using Java EE CA, JAX-PRC, and other APIs, we can build a connector to the mainframe that calls a COBOL program and gets XML results back. We can then process these results, and return the results back to a web page that we develop in JSP. There are many drawbacks to this solution. You have to hand-code the solution while taking into account security, performance, reliability, governance, scalability, and service management. You also need to code and maintain low-level infrastructure software such as a data and SQL translation engine and a high-speed XML parsing and transformation engine.
You or someone you hire becomes the 'general contractor'. Have you ever tried to be the general contractor for a house project such as finishing a basement, or putting an addition onto your house? You end up doing most of the work. You have to find an electrician, plumber, framer/drywall installer, painter, and research all the materials you will need, and also go out and buy them. It is the same thing here; you have to research all the products, negotiate contacts with each of the vendors, then buy, install, and configure the products. You then get the job of integrating the solution. Chances are that they use different repositories (with different RDBMS as there data store), different caching mechanisms, and different APIs. You also don't know who to go to if the end-to-end process does not work. It could be the fault of the application server, mainframe adapter, security provider, or someone else. This makes it difficult to do 'root cause analysis'.
SOA Suites have become the latest IT technology rage in the last few years. SOA Suites are for the middleware industry what ERP systems are for the business applications world. They take a number of related but loosely coupled products, and make them tightly integrated but maintain the loose coupling. This gives you the best of both worlds, an integrated solution that does not rely on the other components but shares a common platform across all SOA Suite components. Not only are the SOA Suite components tightly integrated, the LSE is also integrated with the application server. This gives you end-to-end SOA Legacy Integration.
Note
Keeping It Real: You can build your own TCP/IP and/or HTTP communication to the mainframe with custom Java (Java EE CA) adapters that talk to custom code on the mainframe. You can even create your own message queuing system that resides on the mainframe or open systems. But why would you do this? There are many products from Oracle and its partners that bring you bundled, 'out of the box' Legacy SOA Integration solutions to you.
Not surprising, the approach we are going to take is pre-integrated stack using as many tools as possible in the development, deployment, and management of the solution. We want the target architecture to be as 'out of the box' as possible, and the development environment to be as much of a 'drag-and drop' as possible. In this chapter, we will also introduce you to Oracle products and technologies for development and run time/production. We will use the Oracle products to get from Accidental Architecture to SOA Integration architecture. The transformation from Accidental Architecture to an agile architecture looks like this:

The diagram does not explain the steps or sequence of events. It is not intended to do so as we will cover them next. First, let's examine the overall approach, the tools, products, and technologies used. We will start from the bottom as this follows the high level approach that will be taken.
The big red arrow indicates the COBOL and other legacy languages. JCL/Batch, data stores, and transaction monitors stay as they are today. SOA Integration does not change anything that exists on the legacy system. If you are on the mainframe, you stay on the mainframe running COBOL, Pl/1,JCL, VSAM, IDMS, and other legacy artifacts.
The next level up on the diagram is the LSE development tool. This tool will allow the person responsible for exposing legacy artifacts as Web services to do this in a GUI, drag-and-drop based Integrated Development Environment (IDE). These tools will typically make it very easy to expose presentation, transactions, or data as Web services. In the case of presentation and transactions Web services, the tool will allow the developer to view the actual legacy interface, and choose the screens, menus, transactions, and fields that will be part of the Web service. The reason for the Legacy Subject Matter Expert(s) listed, as the person(s) doing the work, is that they are best suited to identify, design, develop, and deploy legacy SOA-enabled artifacts. Although these are GUI tools, it is important to have a person adept in legacy technologies performing this process. In this step, we will actually deploy services to the legacy system and/or the open systems platform.
The highest level is where the legacy Web services are incorporated into the SOA Suite and/or open systems presentation tier. In some cases, you may just want to access the services from a Java Server Page, Java Server Faces, or AJAX presentation-tier application. In other cases, you may integrate the services with other services using Oracle BPEL, or you may want to use an ESB when some of the legacy services need to be transformed or passed onto another application. Any of these application types can be monitored using Oracle BAM. The tool used for this development is Oracle JDeveloper. Oracle JDeveloper is Oracle's Java Model Driven Development Environment. The tool contains a Business Process Analysis Suite (BPA Suite) from IDS Sheer. This provides you with the option to start modeling the SOA architecture with business users, and Legacy SMEs using the Unified Modeling Language (UML) and other user-friendly diagrams. The modeling done in the BPA Suite can then be used by Oracle JDeveloper/BPEL Designer to fill in the missing details or incorporate additional elements such as service definition, monitoring elements etc. in the business process (BPEL). Oracle JDeveloper also includes Oracle's Application Development Framework (ADF) to develop standard Java-based Java Server Faces, Struts, and EJB 3.0/Toplink-based applications. ADF is a GUI drag-and-drop based environment to create Java/Java EE-based applications rapidly.
Note
Keeping It Real: Having worked with Independent Software Vendors (ISVs) for years, I can tell you that it is less costly and easier to manage a complete integrated stack of products than a custom-built solution or the best-of-breed architecture. Legacy architectures contain custom developed messaging, integration, interface, rules engines, workflow, and even business applications (inventory, order entry, accounting) for a reason. These pre-packaged solutions did not exist years ago. The great thing about being a Modernization architect is that legacy IT groups get to take advantage of SOA, and the 'out of the box' messaging, workflow, security, integration, management, and even the business application it brings to the table.
Phases in the Implementation Cycle
The implementation lifecycle to create your modern Legacy SOA Integration architecture looks like this:

The implementation life cycle is an iterative approach. There will be multiple iterations of the same or similar process. Let's dive down into each of the phases or steps in the implementation life cycle:
Understanding business drivers is an overused mantra. I have seen entire chapters in books dedicated to the importance of business drivers. In the end, we all know that you must understand the business drivers, as technology for technologies sake doesn't make sense. A few of the common business drivers for Legacy SOA are:
- Web enabled applications for internal customer service — In today's 'flat world', many of your customer service agents work either from a home in Idaho, or in a call center in India or Philippines. Imagine trying to put a 3270 terminal at someone's home office or in offices around the world. No way! The answer is a thin application that runs in a browser.
- Customer self-service applications — Fedex was one of the trendsetters in this area. First they gave you the ability to track your packages online. Then, they allowed customers to create their own shipping manifests. What a great way to reduce your customer support costs get the customer to do it and feel good about it! Today not only do we have the ability to check into our flights from home, but also make our own hotel, airline, and car reservations online using the Web. Believe me, most of these self-service airline reservations are communicating with a mainframe somewhere in the booking process. Online banking is another great example of Legacy SOA integration.
- Alignment with the corporate SOA strategy — This is the grand daddy of them all. This is big because you are operating at a strategic level. If you have a corporate SOA strategy, chances are very good that legacy systems integration will be a part of the architecture.
The choice here is to use a repository based modeling tool, or a simple word processing document. The advantage of the modeling tool (Oracle BPA Suite) is that multiple users can contribute and information in the repository can be used to actually generate code for the implementation.
- Oracle BPA Suite — Oracle Business Process Architect (a component of the Oracle BPA Suite) using an Event or Business Process (BPMN) diagram.
And/or
- Open Office Writer or PDF document — Business drivers can also be simply captured in a document. It is more difficult to show business requirements in a picture or a diagram format, but text may do just fine.
Get this phase correct, and you are in good shape. Get it wrong, and you have technology for technology's sake. During this phase, you need to align the business drivers with those legacy technology artifacts. This means finding the correct transaction, screen/fields, or data store in an application that was written over 30 years back containing millions of lines of application code. This can be a daunting task without a tool that can help you identify and document the code or data that is important. Modernization vendors, OpenConnect and Relativity have technologies that discover legacy artifacts to expose. Relativity does static analysis of code and discovers the legacy processes to wrap as services. OpenConnect does real time analysis to do the same thing. These tools also provide additional functionality:
- Proactive performance identified — A focused, automated analysis reveals where the application's existing architecture could lead to a failure of the service or performance issues. The tool will also tell you how you can eliminate these potential performance or service issues.
- Artifact classification — Classification of artifacts makes the next step much easier. Classification also provides you with an application program and/or the screen communication flow and the data stores that the applications access.
- WSDL generation — These tools can even generate the WSDL that can be used in integrating the Web services into the application server or the presentation tier.
Of course, you could always complete this phase using a combination of manual discovery and design using the Oracle BPA suite. This would involve getting the legacy SMEs in a room and doing whiteboarding, modeling in Oracle BPA Suite, and writing the technical specifications.
The choice of tools to use for discovering business processes is really a choice between a tool specifically built (Relativity or OpenConnect) to handle legacy SOA artifact discovery or a generic BPA tool (Oracle BAP Suite).
- Oracle BPA Suite — Oracle Business Process Architect UML Use Case or Activity diagrams.
And/or
- Relativity — Parses the application sources and performs understanding of the application source code. The information from this analysis is used to determine the application and the data flow. We will use the Relativity RMW Analyst tool in the next chapter to complete this phase of the modernization project.
OR
- OpenConnect Comprehend — Combines real-time interaction with process execution static data from existing system interfaces (logs, batch job output, CICS transaction logs), so a full end-to-end business process can be determined.
- Determine the approach — I believe we covered this sufficiently earlier in the chapter. Now you know what the process is, you need to decide if presentation, application, data, and/or stored procedures are the best approach. The approach identifies the specific use cases/scenarios that you will be implementing. As the integration points in the system may vary with the use cases, you may have a combination of these approaches.
Remember, this is where you need to be nice to the legacy system data center team. Installing and configuring software on a mainframe is not like doing it on a local Linux box. You also probably need to give them plenty of time to get the appropriate approvals, software and hardware upgrades, and legacy system configured. You will also need to install and configure the Oracle software required for your application server and presentation-tier. We discussed the LSE configuration in the previous section. As I mentioned, the LSE configuration depends upon the vendor. In the case of the Oracle LSE, it is a hybrid configuration where some of the processing takes place on the middle-tier, and some on the mainframe.
These products and technologies are not choices but the products you will need to use. It includes the application server and LSE.
- Oracle SOA Suite — The Oracle SOA Suite is bundled with the Oracle Application Server. The Oracle Application contains the Java EE runtime, Web services support, and HTTP Server among other components.
- Oracle Internet Directory (OID) — Oracle has a number of identity management products, and OID is one of the products in the suite. OID is an industry standard, Lightweight Directory Access Protocol (LDAP) repository. We are going to keep it simple and use LDAP for authentication and authorization.
- Oracle Integration Adapters — This is your LSE from Oracle. You must first install the Oracle SOA Suite. Then, you can install the Oracle Legacy Integration Adapters.
The GUI development tools from LSE vendors make it easy to expose legacy artifacts as Web services. They will generate the corresponding WSDL, so the legacy Web service can be integrated into the Oracle Application Server. The three most common types of legacy Web services are generated in the following manner:
- Presentation-Tier — Most screen integrations can be done by executing the application using the transaction ID on the mainframe in the LSE development tool, and capturing the screens and fields you want to expose. Developers gather application metadata (screens and fields) from the existing host application, and in most cases, modify the legacy metadata to be more user-friendly.
- Application — Web services access to business rules and business logic can be administered through a simple three to four step process:
- Specify the name of the program to be invoked
- Specify the region where the program is to be executed
- Specify the interface to the program using the COMMAREA of the COBOL module
- An optional fourth step is available, to handle the transformation from legacy standards to modern SOA standards. The limitations of mainframe naming conventions generated standards that are incompatible with the flexibility offered today.
- Most tools supports the ability to transform element names in COMMAREAs to comply with the Web services naming standards, and make them more readable.
- Data access — Data access integration is all about exposing relational and nonrelational data stores as SQL, and then publishing the SQL interface through a WSDL. The steps to do this are:
- Select the type of data source you will be exposing
- Connect to the legacy data source
- Select the legacy files or tables you will be accessing
- Write the SQL for the queries you will be making
- Expose the SQL as a Web service
- Products and technologies used in this phase — Oracle provides a tool in order to expose your legacy transactions and data as Web services.
- Oracle Studio — Oracle Studio comes bundled with the Oracle Integration Adapters you installed and configured earlier. It is a GUI tool that is based on IBM Eclipse. The tool has support for introspecting the metadata in COBOL copybooks, and SQL modeling of IMS/DM and VSAM, and automatically generating the XSD and WSDL schemas.
This is a key phase as it makes the Web services we expose on the mainframe accessible to the end users. The end goal of Legacy SOA Integration is to get the mainframe to be part of your SOA infrastructure. We will achieve this goal in this phase. In many cases, the services are exposed in the presentation-tier. The presentation-tier may be a simple JSP or JSF application, Oracle WebCenter (portal framework) or Oracle BAM. It is also common to see these services integrated into an Oracle ESB, Oracle BPEL, or Oracle Data Integrator (ODI) process.
Oracle JDeveloper is the development tool for Java EE and most of the Oracle SOA products. Oracle BAM and Oracle Data Integrator are not required.
- Oracle JDeveloper — A great thing about Oracle JDeveloper is that it can be used for Java EE (JSP, JSF, or ADF), ESB, BPEL, and Oracle WebCenter development.
- Oracle BAM — Developing a BAM dashboard can be done using the Oracle BAM development tool.
- Oracle Data Integrator — Oracle Data Integrator will be used if you are going to include your mainframe Web services as part of your Enterprise Information Integration architecture.
As we are just getting started, we will be adequately secure using Oracle Internet Directory for authentication and authorization, and SSL for securing the Web services network traffic. For now, we are not going to implement a full-blown governance solution. The auditing and tracking capabilities built into the Oracle Application Server and Oracle Enterprise Manager products should be adequate for your first implementation.
Security and management will become more sophisticated as the Web service number of legacy Web services grow. The products listed below are adequate as you first start Web service enabling your mainframe:
- Oracle Internet Directory(OID) — Autherization and authenticate can be provided through username/passwords and Access Control Lists (ACL) using OID.
- Oracle Application Server — Auditing and logging of Web service usage is automatically done by the Oracle Application Server.
- Oracle Enterprise Manager — Monitoring of Web services can be done using the Oracle Enterprise Manager web-based console.
Just because I have placed this in the latter part of the process, it does not mean you don't take the performance and scalability into account earlier. It means that it is the first opportunity to do real performance and tuning work. Not until the complete environment is installed, configured, and deployed can you determine where your bottlenecks reside.
The Oracle BPA Suite allows you to proactively manage your systems performance and scalability. The Oracle Enterprise Manager Diagnostic pack allows you to manage application performance during production.
- Oracle Business Process Simulator — This technology is part of the Oracle BPA Suite. The tool simulates the process models based on a set of discrete events to do 'what if' analysis.
- Oracle Enterprise Manager (OEM) with Diagnostics Pack — OEM is an end-to-end system management and performance monitoring tool for your database, application server, and the supporting infrastructure. Oracle Application Diagnostics For Java (Oracle AD4J) is a monitoring solution to improve the availability and performance of Java EE application.
Production rollout is a large and complex area. Production rollouts also tend to vary across company to company. Since most companies already have detailed production rollout plans in place, I will not try to cover different aspects of production rollout here. This will depend on an organization's IT governance standards and culture, which is unique to each company and each department within a company.
Keeping all of your hardware platforms running the same release and patches of software is done through provisioning software.
- Oracle OEM with Provisioning Pack — This tool makes it easier to rollout your application to the production environment. It also assists with new software releases.
Monitor the legacy Web services that your users are taking advantage of. Legacy SOA Integration is not 'build it, and they will' come. People don't like to change. You may have built the best Legacy SOA Integration solution ever, but if business users are still logging into their 'green screens', it does not matter. The general area of business process identification and optimization has become so important to companies that OpenConnect has created a product to not only identify services to wrap, but also to understand how services are being used. In addition, Gartner has created a new concept called Business Optimization Support System (BOSS) that is focused on just this area.
OpenConnect is uniquely positioned as one of the few companies that provides the software to monitor the usage of your newly web enabled mainframe.
- OpenConnect Comprehend — Comprehend can be used to tell you who is using the new interface and how often, and the usage pattern. This tool graphically displays the usage of the new Web service interface, as compared to the number of people who are still using the old 'green screen' interface.
Note
Keeping It Real: I am a big believer in the 80/20 rule. It applies to your job: 80 percent of the success of an organization is attributed to 20 percent of the people. It applies to life: 80 percent of your happiness is dependent upon the 20 percent of the things you do each day. More importantly, for this book, it applies to Legacy SOA Integration: 80 percent of the business benefits you will derive from Legacy SOA Integration will come from 20 percent of all the possible services you can create from legacy artifacts. Keep this in mind, and you will find that you just need to focus on a small set of services once you identify the top 20 percent.
SOA Integration — Top Four Scenarios and Oracle Solutions
This section is not really about the final product. How can it be, when we have no idea what your environment looks like, what your business drivers are, what your strategic direction is, what tactical solutions you have already thought about, or what your biggest pain point with your current legacy system is today. It has been said a number of times in the technical journals and by IT analysts that SOA is not a product or solution but a journey. If SOA is a journey, then modernization is a journey where you 'pack extra clothes'. This is because your modernization journey will take unexpected twists and turns, and you may go to unexpected places as business objectives, key personnel, and technologies change during the journey. By the end of this section, if we have done our jobs, you will have answers to the questions, when, where, and how to start.
SOA Integration has been chosen for our first book and as the first approach, because it is often the first approach in your modernization journey. It gives you the ability to deliver something tangible quickly. This will make you happy, your bosses happy, and more importantly your IT users and customers happy. SOA projects typically last three to four months and deliver high customer value. This is far from the legacy project of yesterday that involved three to five year efforts. We now live in a world of short attention spans, and instant gratification; we don't read the morning newspaper but get it on the Internet. So our modernization journey needs to reflect these changing times.
In this section we will focus on why specific products and technologies, as opposed to what they are. We will also use a set of common situations we have come across, as we help customers and partners on their journey to a modern IT platform. These situations will be put in the context of a scenario. We will then use a design pattern that we have found successful in that scenario. Design patterns have been around for decades, but have gained a lot of popularity recently and are commonly used in the world of OO and Java. The term design pattern can be overloaded, overused, and be made overly complex. For our purposes, a design pattern should provide an effectively implemented solution to address a recurring problem (in legacy systems).
Before we get started, let's cover why these particular products make the most sense, and explain why other products were left out. The Oracle Fusion Middleware family of products contains all the necessary components for your SOA Integration architecture.
- Why Web services?
Web services are the foundation of our communication and results processing of the mainframe artifacts. Without Web services, you really don't have a Legacy SOA Integration. Enough said.
- Why Oracle Legacy Adapters?
The Oracle Legacy Adapters are what we have been referring to as your Legacy Service Engine. You need this as it makes the flow of information from your legacy environment to your open systems environment happen in a seamless fashion.
- Why Oracle BPEL Process Manager?
Business process orchestration and human workflow are key to communicating with your mainframe, internal services, and external services. To align business with IT, applications must become more process-driven. In today's world, users do not have to remember all the activities that need to be done. Instead, workflow engines place tasks that need their attention in workflow inboxes.
Oracle BPEL Process Manager allows SOA service implementations, human interaction, and system workflow to be orchestrated quickly and easily using graphical 'drag-and-drop' techniques that allow users to be involved in orchestrating their own systems, thereby reducing the amount of custom code required, and increasing an application's agility by allowing users a more direct interaction with their systems.
- Why Oracle Enterprise Service Bus?
BPEL will provide you with business and human workflow for your business services. However, there are also a number of services that are generic to many applications. A service bus provides these generic services by implementing standard facilities such as messaging or integration capabilities often by encapsulating different existing technologies that implement the generic services and making them appear as one.
Oracle ESB provides a messaging and integration layer for directly connecting applications and Web services through a common infrastructure. Oracle ESB combines an asynchronous messaging backbone with intelligent message transformation and routing, to ensure messages are passed reliably. Using Oracle ESB, integrating applications becomes a drag-and-drop exercise using prepackaged ESB adapters for file, database, message queue, and COTS access. The mainframe is known for its quality of service and reliability. Oracle ESB makes use of Oracle Application Server's grid capabilities to allow the formation of an ESB grid that crosses multiple platforms.
- Why Oracle Enterprise Manager (OEM)?
As discussed earlier in this chapter, you don't need a specialized Web Services Manager or Web Services Registry at this point in your journey. However, it does make sense to make use of the technology in the Oracle Enterprise Manager product that your company is going to use, to manage your SOA middle-tier and perhaps at some point your Oracle Database Grid. The Oracle Enterprise Manager 10g SOA Management pack integrates with Oracle BPEL Process Manager Console and Oracle BAM. This allows administrators to view service levels for key business processes, and SOA infrastructure components. The SOA Management Pack also provides a means to monitor Web services both from an end user perspective as well as request based monitoring. Administrators can define SOAP tests for one or more partner links of a BPEL process, any hosted Web service, or an external service.
The OEM plugin Application Diagnostics for Java has interactive transaction tracing feature for the web transactions (legacy Web services) defined as part of web applications. Application Web Transactions can be easily created using a simple, intuitive transaction recorder. Once an application performance problem is identified, Web Transactions can be executed on demand to immediately trace problems to specific application tiers. Transactions are played back interactively, and in-depth breakdowns of response times across all tiers of your application server provide for quick problem diagnosis.
- Why Oracle Identity Management?
Any IT environment would need some form of security. We will start our SOA Legacy Integration journey with security that is strong but not overwhelming to implement and maintain. Identity Management is a very broad topic when it comes to Oracle. This includes everything from single sign on to provisioning, federated identity, directory services, certificate authority, and more. In the immediate term, we will use Oracle Internet Directory (remember this is called OID and is an LDAP compliant directory) and Oracle Enterprise Single Sign-On so that all applications (Web services) can be logged at once.
- Why Oracle WebCenter Portal?
A portal provides a single web-based entry point into a variety of applications. Using a portal allows an organization to create a unique user experience that combines many of the functional components of the SOA applications into a single point of access.
The introduction of the Internet and web-based computing is one instance where even users will agree that technology has changed business in a positive fashion. The ability of the users around the world to easily access systems via web-based thin client technology has eliminated the need to have applications executed on a client machine, thus opening the door to self-service applications that have clearly changed the way business is done. Incorporating the use of the Web is fundamental to any modern application using Oracle WebCenter Portal.
- Why Oracle Data Integrator?
Oracle Data Integrator (ODI) allows users to extract data from many legacy and nonlegacy sources — including those on the mainframe — using web services that are part of your application server and load and transform the data into a number of data sources. Often we times find that flat file information sharing is a corner stone of legacy information integration. Replacing this custom processing with a product such as ODI makes the processing of the flat files more centralized, agile, and adaptable. Also, enhancing the system for new flat file types or changes to current structures is much easier.
- Why Oracle Business Activity Monitoring (BAM)?
Modern systems do not require you to wait until a report, query, or lengthy batch process is complete before you can get information on business activity. Instead, real-time information is viewed via graphical dashboards that can send out alerts through a variety of communication mechanisms when user-defined 'thresholds of importance' are met. Oracle (BAM) will be used to provide this real time feedback for our Web services, BPEL, and ESB processes.
- Why Oracle Business Intelligence?
Instead of relying on hard copy reports, real-time business intelligence and data mining tools can be used to "slice and dice" data to determine key performance indicators and discover data trends without having to wait for IT. This increases the overall agility of the organization, allowing end users to react more quickly to ongoing business changes.
What is equally important is identifying the components that may apply but will not be included in this architecture. The components mentioned here will play a significant role in re-architecture. The following section discusses the products not included and why they are not part of the architecture.
- Why not Oracle Business Rules?
Business Rules Engines can be used to store business logic and business rules for BPEL processing. For example, what is the credit limit based upon the customer's credit rating? Since business rules play a more significant role in re-architecturing COBOL to Java/Java EE, we will wait until Chapter 6 to show the power of business rules engines in legacy modernization. For SOA enablement, a majority of the business rules will continue to be embedded in the legacy COBOL application.
- Why not Oracle Web Services Manager?
Oracle Web Services Manager (WSM) is a comprehensive solution for securing and managing service-oriented architectures (SOA). It allows IT managers to centrally define policies that govern Web service operations such as access control (authentication, authorization), logging, and content validation, and then attach these policies to one or multiple Web services, with no modifications required for existing Web services. In addition, Oracle WSM collects runtime data to monitor access control, message integrity, message confidentiality, quality of service (defined in service-level agreements — SLAs) and displays that information on graphical charts. Oracle WSM brings better enterprise control and visibility over their SOA deployments. As discussed earlier, a combination of SSL, OID, Oracle Single Sign On, and OEM can provide you the security, governance and monitoring that is required for this phase of our modernization journey.
- Why not Oracle Web Services Registry?
Oracle Web Services Registry is an industry-standard UDDI-compliant Web services registry. As mentioned earlier, the limited number of services and the fact that these will mostly be consumed internally make the use of a Web Services Registry something of an 'over kill' at this time.
- Why not Oracle ADF?
Oracle JDeveloper is packaged with Oracle Application Development Framework (ADF), which provides a rich set of templates for developing business applications. For example, using Oracle ADF Faces — a set of user interface components based on industry standards — a developer can quickly develop web-based presentation layers from legacy screens with limited coding. We will use JDeveloper in the next chapter as we develop our Web services. But we will not utilize the complete functionality of Oracle ADF until the re-architecture chapters. Re-architecting is the best place to implement the full features of ADF.
Each scenario defines a situation or situations that we have encountered while working directly with our customers. For each scenario, we define the problem, context of the problem, forces (business, human, and technology) and the Oracle product solution set. The design pattern is a combination of the scenario and the recommended Oracle architecture.
Before we get started with the scenarios, a few disclaimers are in order:
- The scenarios are not in any particular order or sequence
- The scenarios described next are not phases, but could be put into any order that fits your technical and business drivers
- The scenarios may not fit your particular situation exactly, but you are most likely to find a fit in one of the four scenarios listed here.
Scenario One — Enterprise Information Integration
Also known as: Data Integration, file sharing, file messaging
My current Infrastructure for information integration is fragile, expensive, and hard to maintain.
The problem is often characterized by issues with no common work-flow approach, lack of data quality, and data profiling capabilities, customized transformation logic unique to each data feed, lack of real time monitoring capability, and inability to quickly add new data feeds.
Data needs to be shared with new systems developed on open systems and other mainframe systems, both internal and external to the company/organization we work for.
Almost all legacy systems (I have not seen one that doesn't, so I would like to say all, but once you say all, someone will find the exception) have data feeds coming into them or going out of them.
Applications and organizations were standalone in the past. Now there is a big need to share information between application and businesses.
The objective of Legacy SOA Integration is not to disrupt the current business processing and legacy system. We hold this to be true by keeping the same data feed the same. Attempting to perform even minor changes to data feeds are near impossible because:
- If a third party or even an internal organization outside your control is involved, the ability to get the change completed can take months.
- Even internally owned data feeds impact the source systems, current processing, and target systems so that even a small change has a ripple effect that causes the change to take months.
The current data feed will remain and download FTP to a directory and will most likely remain batched. The diagram shows technologies such as Legacy Adapters and Oracle Messaging as these can be adopted when changes to business processes are made.
- Oracle ESB — The Oracle ESB will use the file or FTP adapters to read the flat file and then transform the flat file to a common (canonical) XML file format. Based on the source of the data feed, the message will be routed to the appropriate Oracle BPEL process.
- Oracle BPEL — This is where the workflow and processing that we discussed earlier comes in:
- Oracle BPEL will call a Java or Web service process to perform any validation processing. This validation processing will probably call out to the Oracle database to validate information based upon the data in the database.
- After validation, file type specific processing takes place. This is basically 'business rules' being applied to the input data file. This business processing could call the Oracle Rules engine (we will leave this topic to Chapter 5).
- Common Error Processing — Validation and/or business rule processing errors will be passed to an error-handling route. The BPEL worklist will be populated, so a human may correct the problem file or records.
- Data persistence Web service — The data will be persisted in the Oracle database, IMS database, and/or the Oracle Ebusiness Suite.
This is also known as Screen Scraping, or Re-interfacing.
My customer support people, sales representatives, customers, and partners would like to access our system through the Web. Why can't I have one interface to update both my legacy system and the Oracle system?
Old 'green screen' technologies have many limitations. A big one is that they are not very intuitive. You have to access several screens or systems to get the information you need, and there is no 'point and click'. In addition, many times, users may have to go to multiple systems to either query or update the same or similar data.
Users want their data now, wherever they are, and at any time of the day or night. Users also want their legacy systems and new Oracle environments to work together.
A business process that requires a user to have to query multiple systems, and then update multiple systems makes everything move slower, and in many cases may cause data inconsistencies.
We are seeing the ranks of users who were online and on the web at a very young age. Technologies providing better application interfaces have been in the market place for years.
The key to this scenario is the interface. Therefore, Oracle WebCenter and/or JSP/JSF will be used. For the first iteration of this scenario, JSP and/or JSF can be used to keep development simple and deployment quicker. A more sophisticated interface would be to use JSF to develop JSR-168 portlets, and deploy them using Oracle WebCenter.
Scenario Three — Report Off-Load Using Data Migration
This is also known as Data migration, Legacy Operational Data Store, or Reporting Modernization
IT Perspective — My legacy reporting infrastructure is costing me millions to run and I have a six month back log of report requests.
User perspective — I already have 100 green bar reports but I still cannot make business decisions with the information I have.
Users need access to information in a variety of formats and dimensions. They also need to be able to easily do 'ad hoc' and 'what if' scenarios.
It is not uncommon for a mainframe-centric organization to have strategic sales forecasting to be done on all spreadsheets.
Reporting on the mainframe is expensive, and business users cannot access the information they need to make decisions. So a typical organization will find that users have created their own reports using Excel, SQL, and other desktop tools. Data then gets duplicated throughout the enterprise.
The final solution includes Oracle Data Integrator, Oracle BPEL, Oracle Legacy Adapters, Oracle BAM, Oracle BI Suite and Oracle OEM as depicted here:

In the summary of this scenario, we will discuss why we choose certain Oracle products.
In Oracle BAM, both the end user decision makers and IT management see the real time flow of information into the reporting system. End user decision makers can make real-time decisions based upon the most current information. IT management can get immediate alerts if a data load is running slow, alerts on the amount of data being loaded each minute, or the average response time of user ad hoc reports.
Oracle BPEL is used to orchestrate the flow of information into the Oracle database. Oracle BPEL can be used to schedule data loads based upon the time of arrival, or the arrival of a specific file or by constantly looking for the data extracts to load.
Oracle Data Integrator provides a fast method to bulk load data into the Oracle reporting database. It provides access to data transformation, data cleansing, and data management services. As ODI is fully Web service-enabled, any ODI component can be consumed by Oracle BPEL, Oracle ESB, or any other Web service-enabled tool or product.
The products we just discussed are all infrastructure products to support the end objective that was to move reporting off the mainframe, and make it accessible to all users. Using Oracle BI tools will hopefully reduce or at least stop the proliferation of Excel spreadsheets and customer SQL reports on user desktops.
Scenario Four: End-to-End SOA
This is also known as Software as a Service, or Legacy SOA Integration
My legacy system is a 'black box'. Getting information into it is painful and getting information out is worse. I also have no idea of the business processes that run my business.
Your mainframe system does not reflect how business is done today. The legacy system is difficult to maintain, enhance, or rollout new services (product offerings) to internal and external customers.
The user community demands information to be processed in real time and results to be available immediately. Information integration interfaces into the system are changing every week, and new trading partners wish to interface with you business in days, not months. The system interface needs to be personalized, so that internal power users can see all the information, internal sale people see only sales data pertinent to them, customers only see their data and orders, and company executives have a real time insight into the business as it stands right now, and not what it looked liked three weeks ago.
As we did with scenario three, we will discuss why we chose certain Oracle products for this scenario.
Since we want to offer user-personalized views into the system, Oracle WebCenter is the easiest and quickest way to do this. Also, WebCenter provides integration to OID and SSO for user authentication and authorization as well as the ability to verify security to all parts of the system the user will be accessing with one login. Gone are the days of logging into multiple systems. Also, gone are the days of looking between two 'green screens' to verify data. Now all the data is in one web dashboard.
BAM plays a big role here, as the amount of processing increases. BAM will make it much easier to monitor all these business process and services in one screen.
Just as the ESB was used to help migrate data from other systems and provide an integration bus earlier, ESB is used here to accept two different input file formats and process them in a single workflow.
- Apache OFBiz Development: The Beginner's Tutorial
- 中文版3ds Max 2016/VRay效果圖制作實戰基礎教程
- SolidWorks 2021中文版機械設計從入門到精通
- 從零開始:Flash CS6中文版基礎培訓教程
- Drupal Multimedia
- 移動App測試的22條軍規
- Photoshop CS6中文版從入門到精通(核心技法卷):摳圖、修圖、Camera Raw、調色、銳化、合成
- 中文版Rhino 5.0完全自學教程(第3版)
- CorelDRAW 2020中文版入門、精通與實戰
- SPSS統計分析從基礎到實踐
- 3D打印輕松實踐:從材料應用到三維建模
- 中文版CINEMA 4D R20 實用教程
- Instant Markdown
- .NET 4.0 Generics
- 中文版Photoshop 2020基礎培訓教程