Tuesday, January 25, 2011

JDeveloper and SOA Composite Editor Installation

Now that your servers are installed, let's install JDeveloper and the JDeveloper extension for SOA Composite Editor.

Installing Jdeveloper
After installing the servers, you can install the JDeveloper IDE.

If you are installing JDeveloper on a machine that is not the same as your WebLogic server installation, you must have installed the JDK 6 update 11 first. See the pre-requisites section for download location.

Double click on .exe file of Jdeveloper download.Click on Next on Welcome screen.


Choose Middleware Home Directory: select Create a new Middleware Home and enter D:\Oracle\Middleware. If you enter something else, then adjust accordingly when D:\Oracle\Middleware is referenced.Click on Next.


Choose Install Type as Complete, and then click on Next.


Click on Next.


Confirm Product Installation Directories. You should see:
- Middleware Home Directory: D:\Oracle\Middleware
- JDeveloper and ADF: D:\Oracle\Middleware\JDeveloper
- WebLogic Server: D:\Oracle\Middleware\wlserver_10.3

Click on Next.

Review Installation Summary.Click on Next.


Installation will start ad it will take few minutes to Install.


When installation completes, deselect Run Quickstart and click on Done.


Configuring Weblogic Server Domain

From the Oracle Home location, you configure the WebLogic server domain for the SOA and BAM servers.

Go to the location where config.cmd is located and then double click on it.

D:\Oracle\Middleware\Oracle_SOA1\common\bin\config.cmd

When the configuration wizard's Welcome screen comes up, select Create a new WebLogic domain and then click on Next.


Select Generate a domain and select SOA Suite, Enterprise Manager, and Business Activity Monitoring. Dependent products are selected automatically.Click on Next.
Enter the domain name: domain1.Click on Next.


Enter the user name as weblogic and a password. The password welcome1 is assumed here but you should choose your own secure password and remember it for later whenever the password is referenced.Click on Next.


Select the Sun SDK 1.6_11 and leave Development Mode checked.Click on Next.
On the Configure JDBC Component Schema screen, you select the components that you want to change,and then enter the property value for those components. First, select all of the components and enter welcome1 for the password in the Schema Password field.

With all of the checkboxes selected, enter the Service, Host, and Port values.

Now, look at the table. Review the Schema Owner column and confirm that the values are the same as what you configured in the Configure Schema section when you ran the RCU.Go back and review the screenshots in that section of this document for the schema owners if you do not remember them.

Complete the following if the schema owners need to be updated:
i. Deselect all the component checkboxes.
ii. Select BAM Schema only.
iii. Enter the Schema Owner for BAM.
iv. Next, deselect BAM Schema and select the next one.
v. Enter the schema owners one-by-one.
vi. Continue until all schema owners are entered.
Click On Next.

Click on Next without selecting any Option.
Click on Next once more, accepting defaults (no optional configurations), and you reach the Configuration Summary screen.Click on Create.

Wait for the creation to finish—it takes just a minute. Click on Done.

Configuring Database Schema – BAM and SOA Servers

Now we are going to create the database schema for the BAM and SOA servers.

Go to the location in the “Repository Creation Utility” downloaded and extracted file where “rcu.bat” file is located.

D:\BEA\Repository_Creation_Utility\ofm_rcu_win32_11.1.1.2.1_disk1_1of1\rcuHome\BIN\rcu.bat

Double click on rcu.bat file.

Click on Next.


Select the “Create” option and Click on Next.


Give the details regarding Database Connection like “Database Type”,”Host Name”,”Port”,”Service Name”,”Username”,”Password”,”Role” and click on Next.



Select the components needed for e.g. I have selected everything except Enterprise Content Management,Weblogic Communication Services,Webcenter Suite and Portal and BI.Click on Next.



Click on Ignore.

Give Schema passwords.I have given same password for all schemas so that it will be easy to remember.Click on Next.

Click on Next…It will automatically map the tablespaces.It will take some time to check tablespace requirements as well as in creating tablespaces.



When the pre-requisites for this step are completed, click on OK. Click on Create to create the tablespaces. This takes about two minutes.



Weblogic 10.3.0.2 Admin Server Installation

Weblogic 10.3.0.2 Admin Server and Managed Servers Installation

Pre-requisites :-
Installation of Oracle Database 11g (11.1.0.7.0) please refer my another blog :-
http://oradatabase.blogspot.com

Checking your JDK
If you are going to install WebLogic server and JDeveloper on the same machine, you will use the JDK from WebLogic for JDeveloper too. However, if you are going to install on two machines, you need Java 1.6 update 11 JDK for JDeveloper.

JDK 1.6 update 11—from the Sun downloads page: http://java.sun.com/products/archive/
You must use Java 1.6 update 11. Update 12 does not work.

Installing Weblogic Server
To Install weblogic go to the location where we have extracted the weblogic software and double click on .exe file.


After sometime welcome page will appear. Click on Next.

Select “Create a new Middleware home” option and also give the location of Middleware Home Directory wherever the sufficient space is available.Click on Next.

Uncheck the “I wish to receive updates via My Oracle Support” and click on Next.

Select the “Typical” option and click on Next.

Leave as it is whatever Installer has taken and click on Next.


Choose first option “All Users” Start Menu Folder option and click on Next.


Click on Next.

Click on Next and the Installation will start.

Click on “Done” after getting this console.

Monday, January 24, 2011

SOA Minimal Architecture

I know that very less people have heard about SOA Minimal Architecture term,but this is the architecture which is the beginning stage of creating SOA architecture for any business model. In reality,it takes some time to complete the SOA reference architecture (if architecture is ever really finished).

It is not important to have everything before you start or to have complete models,documentations,standards,and governance in place before allowing the first service to be designed and built. But, it is better or important to have an idea of what you are doing.

It is important to have a high-level vision of the architecture in terms of the service hierarchy,service inventory,and semantic information model,before you create very many services.

I would recommend to create SOA minimum architecture. This is the minimum architecture that determines the few things that absolutely must be standardized in order to meet the enterprise goals and clearly specifies them.

Then,it helps to put an architectural vision in place for how the rest of the architecture might be defined,and a process for continual,incremental enhancement and improvement of the architecture.

For enterprise SOA,those crucial things are the service definitions,service inventory,and semantic information model.

The minimum architecture should contain:-
What kind of service is — Types and granularities of services. For example, business, domain, utility, integration external,and foundation services.

Required interfaces and functions — Interfaces or other functions that services are required to use or support. For example, all services must support the management interface and use the logging service.

Technical infrastructure — What technology services use to communicate.For example, Web Services conforming to the WS-I Basic Profile v1.1 and Security Profile v1.0.

High-level semantic information model — Identify the major enterprise business entities and documents required. What information do they need in common to meet enterprise goals? What information needs to be shared between services? For example, a consolidated customer entity supports the business goal of having a single customer view.

Initial service inventory — Identify the major service groups and services needed to support enterprise goals and processes. Determine an organizational structure (such as line-of-business or functional domain).Integrate appropriate industry standards or patterns.

High-level business model— Identify the major enterprise business processes and the common processes that occur across enterprise domains. Identify the underlying capabilities needed to support those processes.

Service identification, specification, and design process — This describes how the architecture and enterprise context fit into and support the development process.

Architecture life cycle process — A feedback mechanism for the constant updating and enhancement of the architecture.

Roadmap — The roadmap addresses at least two areas. The first is a rough priority order of service implementation based on dependencies,commonality, and usefulness. This doesn't specify a timeline, nor take into account other business drivers, but it provides an initial vision for building out the service inventory. The second is a high-level plan for building out the architecture.

In my opinion the minimum architecture should take between 4 and 8 weeks to produce,depending on the size and complexity of the enterprise,and the experience,capability and number of architects.

SOA Reference Architecture

SOA reference architecture definition to support the following goals:
- Provide a common language for services and SOA.
- Provide consistency of implementation, business purpose, and semantics across services.
- Provide an architectural-based design methodology.
- Support SOA governance.
- Support Enterprise Architecture.
- Define how the reference architecture is used.

Components of the SOA reference architecture includes :-
1. Service Metamodel
Defines the concepts, characteristics, and details of a service and how services relate to other parts of the architecture.

Specifically, this defines the service types (business, domain, utility,integration, external, and foundation), the service dimensions, and how these concepts are represented and manifest themselves in a service definition.

2. EA Perspectives— Comprise of the following standard Enterprise Architecture domains : -
Business Metamodel :—
- Defines the concepts used to describe the business architecture.

- Defines the relationship of traditional business architecture concepts (strategy, goals, outcomes, organization,value chain, contexts, and processes) to service-oriented systems.

Information Metamodel :
- Defines the concepts used to characterize the information architecture such as semantic, domain, and physical data.

-Defines the relationship between traditional information architecture concepts and service-oriented systems.

Application Metamodel :—
- Defines the concepts used to characterize the application architecture.

- Defines the relationship between traditional application architecture concepts and service-oriented systems.

For example, it describes how services are used in an n-tier architecture.

Technology Metamodel :
- Defines the concepts used to characterize the technical architecture.

- Defines the relationship between technical architecture concepts and service-oriented systems.
For example, how specific platforms and networks support service SLAs for quality of service.

MBD Perspectives :—
- Support model-based development approaches with specific profiles.

- MBD profiles are related to architectural metamodels, but provide a mechanism to embed the metamodel into a standard modeling and generation tool.


Business Profile :
- Defines the concepts used to describe the business problem in nontechnical terms.
- Defines the relationships among concepts, rules, and constraints.


Application Profile :
- Defines the logical structure of applications,typically in terms of layers, tiers, and architectural elements.
- Defines where and how services fit into the overall application structure.

Platform Profiles :
- Defines the details of the technology platform that will be used for implementation.
- There will typically be multiple different platform metamodels to support different technologies, such as .NET, Java,ESB, and so on.

Transformations :
- Defines how concepts in one model are transformed into concepts in another model and the traceability between model elements.

3. Process Metamodel —
- Defines a process for the design and implementation of services, starting at the business level, moving through service design, to platform-specific implementation.
- Defines the overall workflow, the goals and concerns of each step in the process, the inputs,the metamodel elements involved in each step, the work products produced,and the metrics.

4. Governance Metamodel —
- Defines the fundamental concepts of governance, what metamodel elements they apply to, relationships and constraints, and the interaction of governance with the rest of the reference architecture at design and run time.

5. Architectural Relationships Model—
- Defines the relationships among all the different aspects of the reference architecture, and the relationships with other common architectural frameworks such as EA and software architecture.

6. Architectural Usage Model —
- This describes how to use the reference Architecture.

What is SOA?

You can get definition of SOA at many places but that is not only sufficient to understand the meaning or purpose of using SOA.For make this easy to understand I am going to take a different approach.

I will start with a little story that makes us understand what did and didn't worked in past. Back in 1995, a major bank was trying to solve a problem with customer service.At that time different type of products(like different types of accounts) were implemented on different types of mainframe machines.So,if a customer want information on his two different types of accounts then it was hectic for both customer and customer service representative because for customer it was not so easy to remember the account numbers for different types of accounts and as far as customer service representative(CSR) is concerned,he has to go to two different terminals(containing green signals) to find the information about two different types of accounts. Each terminal was having different kind of interface and the CSR has to remember lot of commands which needs lot of training.Because of this Customer satisfaction with problem resolution was low,employee satisfaction was low, and retention of both was problematic. To solve these problems, first bank used the 3270 emulators to rationalize the interface of all systems into a consistent interface,on a single terminal.This solution only reduces the number of terminals but not the complexity of interfaces.Finally bank thought of using distributing technology called CORBA(Common Object Request Broker Architecture).

The first thing they did with this technology was to created distributed objects to represent different types of accounts.These objects provided an abstraction layer between the user and the mainframe systems.Next, they wrote a new user interface, using Visual Basic (VB), that provided account information to the customer service representatives by accessing the different systems via the CORBA objects.

Then they started replacing the green screen terminals and understood the potential of approach.They had essentially implemented the beginnings of a 3-tiered application architecture by separating the presentation, business logic, and operational systems.

They had essentiallyimplemented the beginnings of a 3-tiered application architecture by separating the presentation, business logic, and operational systems. Next, they wrote a new user interface, using Visual Basic (VB), that provided account information to the customer service representatives by accessing the different systems via the CORBA objects.




The next enhancement they did was implemented customer relationship object.This helped CSR in searching the information about all types of accounts of customer by just taking the customer name and an account number.And the customer also need not have to remember many account numbers.

The next incremental improvement was to automatically look up information about each account and display a summary on the customer service representative’s terminal.Now,without any additional effort on their part,the representatives had a broader view of the customers and a better understanding of their relationship to the bank. This allowed them to better serve the customers requests and at the same time offer additional value or services (i.e., turn a customer support scenario into a sales opportunity).Customer and employee satisfaction started to go up.
Over next 2 years bank continued to add more business objects in logical tier and better features in the interface.After some time everybody started asking for Internet banking.Most of the banks started looking towards the solutions like screen scraping.But this bank investes in architectural approach and they have separated the presentation layer from logical layer and logical layer from operational layer.Finally they invested in building up an effective library of services in the logic layer. Therefore, all they had to do was implement a new Internet presentation.Some minor changes to services were required as well as some new services to support security and other Internet specifics.

After two years,this bank merged with another bank.Now the problem was how to integrate the new bank’s systems into the other bank’s Internet operations.Imagine the challenges involved, and imagine the surprise when 100% of the combined customers were able to access their accounts through the Internet on the first official day of merged operations.It became possible because instead of adding a new presentation,the bank added new systems to the operational layer and enhanced the logic layer so that it was possible to access the new types of accounts and systems. Only very minor changes were required in the presentation layer.

Two things that came out of it was :-
1) Adoption of an architecture that distributed responsibilities across layers and tiers.
2) Understood the challenge of creating the right kind of services in the logic tier and of having developers reuse them.

So, with a successful implementation of SOA, the bank was able to improve customer retention and satisfaction, reduce costs and time to market, take advantage of disruptive technologies, quickly absorb acquisitions, and keep ahead of their competitors.

From a more technical point of view, the bank was able to integrate multiple systems, support multiple channels and devices, scale horizontally to support very large-scale and highly reliable requirements, incrementally add new functionality, manage reuse, and converge on a common service infrastructure.

So,now what is SOA ?

---------------------

SOA isn’t about technology, and SOA doesn’t just happen. SOA is an architectural approach to building systems that requires an investment in architecture and IT, a strategic and business vision,engineering discipline and governance, and a supporting organizational structure.