You are on page 1of 31

ENTERPRISE APPLICATION INTEGRATION IPS 4354

PROJECT TITLE Case Study: Supply Chain Management Companies (SCM) existing applications, types of middleware and proposed solution

PREPARED BY:

Norhayati Binti Sharif

4081028591 PREPARED FOR Madame Suzana Basaruddin

TABLE OF CONTENT 1. Introduction of Company Background 1.1 Enterprise Background 1.2 Scope 1.3 Business Process 1.4 Existing Application System and their background

2. Application integration approach for the enterprise (Types of Middleware) 2.1 SOA 2.2 WEB SERVICE 2.3 BPEL

3. Proposed middleware best suited for Supply Chain Management(SCM) 3.1 RFID 3.2 SAP NetWeaver 3.3 WebLogic 3.4 WebSphere 3.5 WebSphere

4. Conclusion

1. Introduction 1.1 Companies Background

Supply Chain Management

Material Flow Information Flow

Customer Management

Schedule/ Resources

Delivery

Supply chain management is a process that is still evolving and developing in business world. This business process helps companies to ensure that materials, information, and finances are moved in a process and there are customers, supplier, manufacturers could work closely together to ensure that goods and services are delivered as required, with appropriate quantity and effective cost.

In addition, there are five areas where companies use to decide that will define the capability of their supply chains y Production

Companies need good strategies for managing all resources so that the supply chain can be efficient, costs less and products are delivered with high quality and value to customers. Moreover, the companies also need to know what products that market wants, how much of which products should be produced and by when? The facilities of production are warehouses. When warehouses are constructed with a lot of excess capacity, they can be very flexible and respond rapidly to product demand. However, excess capacity is not in use. This means that the more excess capacity exists, the less efficient the operation becomes. y Inventory

Inventory can be raw material or finished goods held by warehouses, manufacturers, distributors, and retailer in a supply chain. Holding a large number of inventories can make the supply chain very responsive to rise and fall in customer demand. On the other hand, manufacturing inventory is a cost and the cost of inventory should remain as low as possible. y Location

This is another important factor that should be carefully considered. A manager determines which locations should be the most efficient for production and storage of inventory. The manager also needs to make a good decision and considers a range of factors relating to location such as the cost of labor, the cost of facilities, taxes, skills, and closeness to suppliers, manufacturers, warehouses, and customers. y Transportation

Which modes of transport should be selected and how should inventory be traveled from one location to another location. If airfreight delivery is selected, this choice can be very fast, but it is expensive or if slow mode of transports such as ship and rail is chosen, it can be cost efficient, but not very responsive. y Information With good information, managers can make better decisions about what to manufacture and how much, where to place inventory and which mode of transport is the most suitable. Information is used for two main reasons First, Coordinating daily activity, Companies use data on product supply and demand to choose on weekly production schedules, inventory levels, and locations. The second reason

is to use for forecasting and planning. Available data helps the companies to set monthly and quarterly production schedules and timetables. Supply chain management flows are made of three important flows. y The product flow

This flow involves the movement of producers from a supplier to manufacturers to warehouse to a customer. y The information flow

This flow consists of transmitting and updating the status of delivery. y The financial flow

This flow contains credit terms, payment details and schedules, and consignment.

1.2 Scope In order to be able to develop the design architecture for application integration, we need to study an existing applications and develop the proposed application system which suitable for the Supply Chain Management Companies (SCM). 1.3 Business Process
The business process is:
y y y y y y y y y

Customer relationship management Customer service management Demand management style Order fulfillment Manufacturing flow management Supplier relationship management Product development and commercialization Returns management
Warehousing management

1.4 Existing Application System and their background In order to support supply chain management(SCM) operations throughout the business process life-cycle, SCM has implemented systems and applications using the BPEL,SOA and Web Services application. This Supply Chain Management Application consists of three different
services and one web application. These services are designed and architected separately and brought them together using SOA and web services technologies. In order to fully understand this application, several architectural diagrams are provided in different aspects of the application such as flow of the application, uses cases, sequence diagrams, and class diagrams. In addition, the technical descriptions and WSDL file of this system are be presented.

The following shows a demonstration of the existing Supply Chain Management Application The product Catalog Page:

Figure 18: Product Catalog Page

Figure 19 Different page of product catalog

Figure 20 List of MP3 items

The Detail Page:

The user can see the product detail and enter quantity

Figure 21: Product Detail Page The Login Page

Figure 22 log in Page

Login Fail Page

Figure 23 Login Fail Page

Delivery Address Page:

Figure 24 delivery address Page

The Order Page:

Figure 25: Order Page

The Order Status Page:

Figure 26: The Order Status

The Payment page

Figure 27 Payment Page

Database view of Shipment and items status sent from First Warehouse

Figure 28 Shipment and items status in First Warehouse

Database view of Shipment and items status sent from Second Warehouse

Figure 29 Shipment and items status in Second Warehouse

2.1 Application integration approach for the enterprise (Types of Application & Middleware)

2.2 SOA and Web Service

Service Oriented Architecture (SOA)

Figure2. A Service-Oriented Architecture

A service-oriented architecture

A service-oriented architecture is an architectural approach supporting loosely coupled services to enable business flexibility. SOA consists of a collection of business services in a network such the worldwide-web.

A service offers a business function with a well-defined interface. The service is self-contained and does not depend on other services such as Loan Processing Service that processes the loan application. The many services can work together in a coordinated way such as supply chain management system based on SOA. Multiple services are used to satisfy a more complicated business requirement.

SOA is not a new architecture; it has been around for years related to the integration, development, and maintenance of complex enterprise applications. The use of SOA approach is to improve and extend the flexibility of integration methods (EAI) and distributed architecture and reusability of existing applications.

The characteristic that makes SOA different from other architecture is loose coupling. This means that the way a client communicates with the service does not depend on the implementation of the service. The client does not need to know what language the service is coded or what platform the service runs on. But what is new is the web service based on SOA. A web service is a service communicating with client through a set of protocols and technologies in an interoperable, technology-agnostic manner. Hence web services are well-suited as the basis for a service-oriented environment and most often implemented with web services.

3.2 Why SOA

Service Oriented Architecture (SOA) is an architectural style that guides all aspects of creating and using business processes, packaged as services, throughout their lifecycle. SOA represents a model in which functionality is decomposed into small, distinct units (services), which can be distributed over a network and can be combined together and reused to create business applications. These services communicate with each other by passing data from one service to another, or by coordinating an activity between one or more services. SOA represents a model in which functionality is decomposed into small, distinct units (services), which can be distributed over a network and can be combined together and reused to create business applications. These services communicate with each other by passing data from one service to another, or by coordinating an activity between one or more services . An SOA consists of service and event interfaces to both legacy systems and newer applications that are built on top of platforms like BEA WebLogic, IBM WebSphere, Oracle 10g and Sun Java Enterprise System etc. SOA is a model that encourages the creation of loosely coupled business services through the integration of disparate applications regardless of underlying technologies in use. One key goal is to maximize the reuse of application-neutral services to increase business and IT adaptability and efficiency and promote flexibility in an interoperable, technology agnostic manner. SOA consists of a composite set of business services that support a flexible delivery model with dynamically re-configurable end-to-end business process realization using event-driven, interface-based service descriptions.

The figure below depicts some of the characteristics of SOA:

Reduced interdependencies between software assets


Loosely couple

Allow individual software assets to become building blocks that can be reused in developing other applications

Service A

Service B

Service C

Standard based

Shared Service

Service Oriented
Federated control Check request

Leverage open standard to represent software assets as services (XML, SOAP, UDDI, WSDL)

Figure 4.9: Characteristics of Service Oriented Architecture The collaborations in SOA follow the find, bind and invoke paradigm where a service consumer performs dynamic service location by querying the service registry for a service that matches its criteria. If the service exists, the registry provides the consumer with the interface contract and the endpoint address for the service. Figure 3.21 illustrates the entities in a service-oriented architecture that collaborate to support the find, bind and invoke paradigm.

As shown in figure 3.21 below, three distinct components are identified in service oriented architecture, the roles by which each entity in SOA can collaborate. The roles in a service-oriented architecture are: j Service registry: A service registry is the enabler for service discovery. It contains a repository of available services and allows for the lookup of service provider interfaces to interested service consumers.

j Service consumer: The service consumer is an application, a software module or another service that requires a service. It initiates the enquiry of the service in the registry, binds to the service over a transport, and executes the service function. The service consumer executes the service according to the interface contract.

j Service provider: The service provider is a network-addressable entity that accepts and executes requests from consumers. It publishes its services and interface contract to the service registry so that the service consumer can discover and access the service.

Figure 4 10: showing collaborations in a service-oriented architecture

As shown in the figure above, each entity in the service-oriented architecture can play one (or more) of the three roles of service provider, consumer and registry.

The operations in a service-oriented architecture are:

j Publish: To be accessible, a service description must be published so that it can be discovered and invoked by a service consumer. j Find: A service requestor locates a service by querying the service registry for a service that meets its criteria. j Bind and invoke: After retrieving the service description, the service consumer proceeds to invoke the service according to the information in the service description.

The artifacts in a service-oriented architecture are: j Service: A service that is made available for use through a published interface that allows it to be invoked by the service consumer. j Service description: A service description specifies the way a service consumer will interact with the service provider. It specifies the format of the request and response from the service. This description may specify a set of preconditions, post conditions and/or quality of service (QoS) levels.

There are also many good reasons to take an SOA approach. y Reusability

Developers can bring code implemented for existing applications and expose it as a web service, then reuse it to meet new business requirements. This leads to reduce the development cost and time. y Interoperability

The clients and services in service oriented environment communicate each other no matter what platform they run on and which language used to implement services.

Scalability

Services in SOA are loosely coupled, thus it easy to enlarge applications using these services. That because there are few dependencies between the requesting application and the services it uses. y Flexibility

Because SOA services are loosely coupled, they are more flexible than tightly-coupled applications. The components of an application are not tightly bound to each other. This makes it easy to change the application in order to meet new business requirements. The loosely-coupled, asynchronous nature of services in a SOA makes application flexible. y Location transparency

Location transparency is another main characteristic of SOA architecture. A service implementation can be moved from location to location without client s knowledge. This increases service availability and performance. SOA, Web Services and BPEL

SOA describes the communication pattern between services, functions and their operations. The service itself and interactions between services are defined using a description language such as web service description language (WSDL). Each interaction is looselycoupled. Thus, web service technology is main foundation of developing SOA application. This project focuses on orchestration of a supply chain management. By the definition, orchestration illustrates how web services can interact with each other at the message level including the business logic.

According to research, BPEL is a language for specifying with web services. Hence BPEL is main important component used in developing SOA application.

To have a good understanding in developing a SOA application, it is important to know details of using BPEL and it will be presented in details on the topic Business Process.

SOA design and Development

To build a SOA application, first of all, a developer needs to break out the different pieces of business logic into services.

The service can be: y y y Defined by well-published interfaces. Loosely coupled Entities encapsulating reusable business functions

In a SOA application, services communicate with each other using different message exchange patterns (one-way, synchronous and asynchronous)

To implement SOA application y y Identify the different units of business logic and units of work to be performed The functionality of the units of work is described in term of services by implementing stateful or stateless service. y y Identify the main infrastructure services, which each service needs to use. Define the major pieces of common functionality, if any, between the various services. Make sure that the common functionality is described as a reusable service. y The different pieces of functionality is exposed as a service in terms of operations such as web service y y Describe events that services would be producing or consuming. Build workflows to enable service choreograph

2.11 Business Processes BPEL

BPEL (Business Process Execution Language) has become one of the most important language for developing SOA application. It is a language used for composition, orchestration, and coordination of web services. It offers rich functions to manage the behavior of business processes. BPEL also introduces a new concept into application development. Developers can do programming in the large rather than do programming in the small using traditional approach. This BPEL concept allows developers to create business processes quickly by only defining in which services will be invoked. This makes applications become more flexible to the changes in business processes.

Developing Business Processes with BPEL

Business processes are processes that compose a collection of services. A business is described in BPEL. In a typical scenario, the BPEL business process receives a request from client. To fulfill the request, the BPEL process will invokes the involved web services and responses to the caller. In the process, a developer requires to specify relations between several web services. These relations are called partner links. Furthermore, BPEL provides conditional behavior. For example, a developer can construct loops, declare variables, copy and assign values. To understand how BPEL works, a developer needs to understand the concepts first. BPEL Concepts

A BPEL process is made up of steps. Each step is called an activity. Activities represent basic constructs and used for common tasks such as y y Invoking other web services, using <invoke> Waiting for the client to invoke the business process using <receive>

y y y

Generating a response , using <reply> Manipulating data variable, using <assign> Terminating the entire process, using <terminate>

In addition, the interface of new BPEL web service uses a set of port types, which it offers operations like any other web services.

To make the BPEL concepts clear, lets look at a BPEL business process Example of a simple supply chain management.

BPEL Business Process Example (A simple business supply chain management)

Figure 3 BPEL process for business supply chain management

We have defined a simple business process for business supply chain management. Lets consider the business process. When client make a request to the business process, first the process will receive the request using the receive activity (no shown in diagram). Then the process will invoke a retailer service using the invoke activity to ask for catalog products. After that the retailer service sends the response back to the process using the reply activity (not shown in the diagram). And the response is passed to the client. Next the client submits the quantity of products, the new request is sent to the process and the request is fulfilled by the retailer service. The retailer first needs to check stock level to see whether warehouse has enough products or not enough by invoking the invoke activity (for warehouse). The response returns the response using the receive activity. If the warehouse can not fulfill the request, the warehouse will be invoked by the invoke activity (for warehouse). The response is returned from warehouse B to the process, finally the process passes this response to client and the process ends.

Web Service Overview

A web service is a remote application, which is accessed by clients using XML-based protocols such as Simple Object Access Protocol (SOAP) and data is transmitted over internet protocols such as Http. It has its interfaces described using Web Service Definition Language (WSDL) file

Web services use Internet technology for system interoperability, which is supported by almost every technology vendor (Microsoft, IBM, BEA, Sun Microsystems, Oracle, HP, and others). Web services also offer a way for applications to expose their functionality over a network, regardless of implementation languages, platforms. Not only can web services help an enterprise to enlarge business offerings, improve the efficiency of business processing. Web Services Technology has been increasingly adopted, since it can cut down operational costs by allowing organizations to extend and reuse their existing system functionality.

Benefits of Web Services y Reusability

Web services play a big role in improving software reusability in organizations. Web services can wrap legacy application, databases, and objects then expose them as services. In addition, web services are built on interoperable and ubiquitous standard.

Freedom of choice

Web services standards have created a huge marketplace for tools, products, and technologies. Organizations have a wide range of options to select configurations that best meet their requirements. Furthermore, developers can boost their productivity rather than using their own solutions. They have a chance to choose from a market of application components. y Support more client types

Since web services offer interoperability, there are more choices in supporting more client types regardless of the platform: Java or Microsoft or it can be based even on a wireless platform. y Interoperability in a heterogeneous environment

Web services allow different distributed services to run across different software platforms and architectures and web services also can be implemented in different languages.

Location Transparency

A client can find a service and does need to care where the service is located. Thus, an organization is able to move services to different machines. Developers also can move code from one platform to another.

2. Proposed middleware best suited for Supply Chain Management(SCM)


2.1 Using RFID

Supply Chain Benefits: y y y y Conceptually RFID implies perfect information through the supply chain Movement of goods can be triggered by a sale of a single item Not practical for many supply chains because of costs/scale economies/other managerial issues Needs a balance between pull chains and push chains built on lead times and economies of scale

Cons: y High benefits for manufacturing companies selling a low volume of expensive goods, such as drugs and general merchandise y Benefits not clear for manufacturers of high volume-low cost products, such as food and grocery, the benefits from RFID are not as clear. o These industries already have efficient supply chains through the implementation of a variety of technologies and processes; o Uncertainty in these industries is relatively small and hence demand is highly predictable.

SAP NetWeaver NetWeaver is SAPs version of the Application Platform Suite. SAP NetWeaver is the technology foundation that powers mySAP Business Suite. Powered by SAP NetWeaver, mySAP Business Suite solutions deliver significantly more value through enhanced access, usability, business transparency, and process integration throughout the enterprise. SAP NetWeaver also facilitates the easy integration of mySAP Business Suite with heterogeneous system environments, third-party solutions, and external business partners. And by enabling the development of custom applications, SAP NetWeaver ensures low-cost, flexible integration of customer-specific business functions with mySAP Business Suite.SAP NetWeaver consist:

SAP Web Application Server

SAP NetWeaver Application Server brings together a proven infrastructure with the interoperability and flexibility of Web services technology. With this component of SAP NetWeaver, you get support for platform-independent Web services, business applications, and standards-based development.

The result is an application server that delivers:


  

Low total cost of ownership Reliability, scalability, and security essential to enterprise-scale solutions Openness and interoperability needed to extend business processes across enterprise boundaries

SAP NetWeaver Application Server provides an open and reliable infrastructure for deploying highly scalable Web applications and Web services. Features and functions include: y Development -- SAP NetWeaver Application Server provides an Eclipse-based interactive development environment, called SAP NetWeaver Developer Studio. As a starting point for all Java development tools and the integration basis for all infrastructure components, SAP NetWeaver Developer Studio supports efficient development of Web Dynpro, Web services, and Java/J2EE business applications. It supports the development of Java projects on a large-scale basis for both SAP technologies and standard technologies such as Web services and J2EE. y User interface development -- Web Dynpro, part of SAP NetWeaver Developer Studio, allows you to develop professional user interfaces for business applications. Based on a powerful and flexible modelview-controller architecture, it provides a clear separation of user interfaces with back-end services to ensure fast responses for highly interactive user interfaces. y Security -- SAP NetWeaver Application Server supports state-of-the-art Internet security standards such as HTTPS, Secure Sockets Layer (SSL), and Lightweight Directory Access Protocol (LDAP). It provides secure communication between all client and server components,

authentication and single sign-on capabilities, central user administration, digital certificates, digital signatures, and auditing capabilities. y Persistence layer support -- With SAP NetWeaver Application Server, you receive support for platformindependent Web services and business applications.It also receive support for standards-based development built on technologies such as J2EE and ABAP. SAP NetWeaver Application Server works with all open technology platforms -- including the leading hardware, operating systems, and databases -- based on open standards. Open SQL for Java allows developers to access a relational database in a portable and efficient manner.

Deployment -- SAP NetWeaver Application Server includes integrated deployment capabilities to run

applications and a repository to manage versions. It also provides a file storage medium that combines flexible use of the local file system with secure and efficient storage of a relational database on a central server.

Scalability, performance, and high availability -- SAP NetWeaver Application Server enables scalable, high-performance business

processes, primarily through sophisticated, business-driven caching and dispatching techniques. High performance is provided by the component's architecture, along with SAP's proven transaction capabilities in a distributed environment. High availability is ensured by automatic distribution of requests to other SAP NetWeaver Application Server instances, should one server be unavailable. y Software logistics and life-cycle management -- Sophisticated change management and transport services support not only the first implementation of an application, but also the continuous changes that result from business or organizational changes, or the implementation of additional functions.

Comprehensive software logistics for the development, test, and production landscape are prerequisites for continuous enterprise operations. SAP Web Application Server provides comprehensive software life-cycle management, from design, development, and deployment to execution, monitoring, and continuous improvement. Making it a high-performance, low-cost, easy-to-use Web development and run-time infrastructure for all business applications.

WebLogic WebSphere

4.

Conclusion

Based on SCM problem, we propose a few types of middleware. RFID, SAPNetweaver, Web Logic, and WebSphere and Application Servers to replace the existing integration that is SOA and Web Services, BPEL, . The major benefit of using middleware to solve the integration problem between two or more application.