Thursday, November 22, 2007

Offshore IT Model using SOA Implementation approaches

Design Approaches

Approach -1


















Approach -2





















Design Description

The above diagram gives a sneak preview of high-level implementation model of the proposal. The Service environment can have n- number of internal system running under IT department. It can be in a client environment either the client is providing services or an Environment provided by us, since we are the IT people.

Our scenario thinks about how the data can be shared across the proposed system by mean of certain rules it handles .For example, if the proposed system needs only limited information from the existing database it can be retrieved through Web services and using XML orchestration . Data synchronization Engine (DSE) enables the service to synchronize the data between the existing applications and proposed system .We can ensure the client that the data being secure with them by means of defined orchestration mechanism. Any client can communicate with DSE for sharing the data for services and can be getting a copy of the transaction made at service points. It enables a client to ensure on data security. The data base serves at service end always keep the necessary data for their transaction. This enables an application to retrieve the required data from their environment. A web service running at both ends can be used to orchestrate the transaction.

The application framework handles logistics needed for a client. We can place n number of logistic components (services) based on different domains here. Therefore, it enables n umber of clients to access it by looking up the rules generated by rule engine. These components eventually communicate to the data through Data Access Mechanism. Application Request Processing Engine (ARPE) makes the rule looking up the orchestration and decides which logistics must be tracked by means of a client call.

Any application running for any clients above this layer can make use of Application framework components by giving a request to the ARPE. This ensures security across multiple clients and their logistics. This can be configured by clients using a secure connection.

The above approaches differ in Data Access Mechanism. A client may not will to share the data at initial level. In this prospect, we can follow the first approach. The above given approaches are not being a full implementation of the new model. Any review comments will be added along with this.

Deployment Model


















Description
Application Access Layer is any client system that supports internally or externally to a business process . It can be thick client application that accesses the data for verification or validation purpose. Or It can be just a internet based or thin client environment that make use of data. This need to have only limited configuration features

SOA Service layer, A layer that ensure a highly integrated and secure data handling mechanism to the client. It can be run at a service provider’s environment. Since we are the IT people we can ensure the data security and service privacy using latest technology. A client can ensure the security of both data and service through a secure data connection mechanism. We can ensure this through a secure connection mechanism. A client can have control over this by a defined rules signed by both client and service provider.
A temporary database/memory representation of data can be provided at service layer based on signed rules for better data security and dynamic data retrieval to the clients using modern database features.
A legacy system data can fetched here for faster transaction purposes and be can saved back to the client’s data centers periodically

Secure Data layer, This can be a legacy system data centers or atabases running on multiple environment at client side. Secure data transaction with service layer can be enforced by rule signed by both Service providers and client. Once the client is willing to share the data we can dynamically get the data from the data centers.






Managing Offshore IT Model using SOA

Project proposal Global Logistic Server

Most of the Application the business environment is looking for an Internet based or intranet based system for working with their own logistics (For example marketing system, a parcel service tracking system, air control traffic system etc ).Every company is looking up this perspective and coming up with own IP portal for their business.

We know that most of the site available is focusing on how to work on common logistics like retail, finance, manufacturing, cost calculation, marketing, brokering etc. In the business world, most of the system developed falls into any of these categories too, even though the logistics are following differed inputs.

Since we are looking for major business opportunities, why don’t we think of a scenario (A service model): - It is be quit natural to think if certain businesses are meant for the same purpose? Here the scope for a project comes up - I call it as “Global Logistic Server (GLT)".


Scope of the document
Scope of the document is to propose a new strategy of developing applications based on Service Oriented Architecture (SOA). The document intends to create an initiative on this regard.

The project proposes

A Company that asks for a service to develop System (a Web based or intranet-based system) will be the client for us here. We can provide an internet service or intranet service for them by serving a Web server or a Component Server. Here we can make use of the facility of "Global Logistic Server”.

A Global Logistic Server is having The Dynamic UI generator Engine (DUGE) and Logistic generator Engine (DLGE). UI generator generates customized UI for a client according to their inputs and Logistic Engine generates updatable Logistics for the System -For example the business logistics for a Website based on a particular logistic.

Multiple companies follows similar logistics can make use of the “the Server” by varying input to the Server .The input can be placed by means a secure connection. A thick client enables to feed input for the engines .The engines can work with corresponding inputs and can layout rules for working with a particular client.

An Example

Suppose there are two different companies working for two different products and the logistics will be the same for two companies – say sales. If two companies working on same logistics with two different products, we can develop a common logistic Server for both the companies with varying inputs. The common service can serve in our facilities in an application server and can ask a client to work with us by making use of our facility.
Here the advantage with the company is we can assure them that they do not want to deal with complex data handling department (Do not want to maintain an IT department in the company). We will maintain server for you and we can ensure a secure connection mechanism to verify and retrieve the data. Advantage from our side is we can make a long-term relation with a client by means of providing good service and will enable us to serve any clients working on the same domain with out much complexity.



What are the scenarios we worked out here?

1. A Dynamic UI generator generates UI and business links for a client based on clients input (Customizable for N number of companies)

2. A logistics engine that generates the logistics for a client using the client’s inputs (Identical Business must (domain) is to identified)

3. A database that serves for multiple clients (Common Data center)


1. A Dynamic UI generator generates UI and business links for a client based on clients input (Customizable for N number of clients if thy fall into a common logistics)

Here I suggest a XML based UI. It will enable n - Number of clients to generate their own UI by using information provided by them at runtime. It can be customized depend on certain parameters like Company name, company logos, particular client ID and necessary parameters (To be discussed how to use this by providing multiple IP Address as parameters). A thick client using secure connection will enables a client to input data for generating the Layout for the site.


Points to be discussed

1. Basic layout for the UI.
2. XML Schema.
3. Secure mechanism for inputting data.
4. Common links or layout.

2. A logistics engine that generates the logistics for a client using the client’s inputs (Identical Business must be worked out)

Logistic engine, A Business layer component generates logistics for a client for their system. A different client that uses the same logistics can make use of this engine by looking up the input provided by them and by using a rule engine. A thick client using secure connection will enables a client to input data for generating the business rule for the client.
For example if two companies selling two different product from the same country can follow same business rules other than few input or combination of few inputs .And if the transaction is being done in another countries the logistics can very based on certain input like tax , conversion ratio and transportation cost etc. In this case, a customizable logistic engine can work on different input provided by both the companies. Different locations have different logistics must be applied depending up on where the transaction being made.

Point to be discussed

1. Identify logistics having similar nature with differing input.
2. Rule engine that navigate the logistics .
3. Identify the logistics with all possible options (Find rules for making the transaction rules)
4. Enable a client to input values depending up on their transaction.
5. If a client uses combination of multiple items from different vendors, a logistic engine can generate a rule by means of evaluation all the vendors input.
5. A secure connection to input values
6. Identify Logistic components.


3. A database that serves for multiple clients (Common Data center)


Here we can think of dynamic database and table generation for secure data handling, multiple client access scenarios


Point to be discussed

1. How this scenario being worked out for multiple clients’ .How the data being shared and what level of security must be provided

2. How can we serve existing data for a client (How to import data from another data store?)



PROFIT BEHIND

1. Regular income by means of serving multiple clients using a common system (Global Logistic Server) and sharable resources (Hardware. Network Etc)

2. Once the logistics and data are secure with us and having a robust system support a clients always depend us to carry out their business. This enables a client to make a long-term transaction –relation-with us.

3. It is Possible to ensure long-term relation with a client (Replacing of BPO Model to Service model).

4. Customizable logistic generator and UI generator reduces development time for another client follows similar logistics.

5. Increased user experience by means of providing dynamic site update facility.


6. Enable a stable and long-term relation with multiple clients.

7. Service can be rendered by means of offshore model (Application deployed in local Web server and data is being secure with our facilities.

8. Better understanding of business model. Iteration of business model for multiple clients improves knowledge on a domain.

9. Generic Application Architecture. A common Architecture cane shared across multiple clients with out having much extension.

10. Attract more business by means of reduced deployment cost and deployment cost since we are serving the GLT in our facility.


Must be worked out

1. Change in business model
2. Rule engine complexities
3. Application development cost- Start with a prototype
4. Robust system support.
5. Secure and stable data handling mechanism.
6. Multiple domain knowledge (Logistics).
7. Marketing strategies for multiple clients working on similar domain.
8. Deployment perspectives.
9. Deployment Cost.
10. Dedicated System Support.


Cost behind

1. Design and development.
2. Robust System and data back up.
3. Network facility.
4. People with Profile having logistics knowledge.

Assumption:

1. Java based or .NET-based system can be used for developing the system. (An Architecture that supports N-Tier will be the solution for the system).
2. Initial cost will be high but in long run, it will overcome.
3. Multiple IP IDs.
4. We can have enough resource to start with.
5. Similar Logistics can be automated for multiple clients.
6. Stable data handling mechanism is available in the industry.


The posting “Offshore IT Model using SOA Implementation approaches” explains the design and deployment models for the proposed model.