OK so it looks like I wasnt blogging for a few weeks- vacation what can I say. But over the last few days I have been playing with some of the infastructure tools that oracle has created (read purchased) and how they will fit in this new world.
So in the current data center world we usually have some big IBM or SUN boxes with multi LPAR setups where one LPAR may be Our web servers. Another LPAR for Our App servers and another for our DB servers. And we will probably have more than one box in this config. In an x86 shop you might have actual boxes for each tier. Thats all nice and dandy if nothing changes over time. But as we know at client sites we need new instances for special projects all the time, and usually QA gets taken over for something special. The other down side is everything is pre allocated as in we have our lpars for dev and test and prod. If tomorrow we are doing open enrollment and we need more horsepower its going to be difficult to bring on another app server. So we turn to virtualization to get past this. The big boy in the field was VM Ware with its ESX server. For you developer types- thats what CMS uses for certain applications. There were also some open source ones like XEN.
So Oracle took the XEN sourcecode and enhanced it to create OVM. OVM is closer to the functionality of VMwares ESX. So oracle is shooting for a VM Data Center strategy. This will allow us to create new instances on the fly. Infact Oracle has created templates (VMs) for exiting products including Peoplesoft. So say you have a spare OVM box sitting there and you want to install PS, all you have to do is download the template and tell the server to boot that vm.
Ok so they just copied VM Ware right? Well not exactly. There are a few other things going on. First lets talk about the configuration of a VM data center according to oracle. You would have one server that would be the Master. It would determine what runs on the slave servers and it would also have the web interface for controlling and deploying the VMs. The slave are just boxes. A group of slaves would be a server pool. You could add to the pool by just adding more boxes, and also, say a server dies, you could just remove it from the pool with no impact to your application. Imagine servers that are like RAID disks. If one fails who cares. And as a raid disk, we dont care where our data gets stored from a physical perspective, same with the data processesing on a cloud. In fact oracles vision for the data center is a cloud.
And now for the kickers- the OVM Manager (the master box) has all of its functions exposed as web services. So imagine us being in open enrollment, the system via Business Activity Manager (BAM) can see a bunch of processes running that are taxing the app and web servers. It kicks off a web service call to bring up two new instances of Web and App servers to handle the load. All with no human intervention. We basically end up with the self healing/tuning systems that were discussed as theories in Information Systems classrooms during the last decade.
This also folds nicely into oracles plan to own the IT world. How so you ask- lets look at oracles purchases over the years and how it fits within the stack.
So what consists of a PS Stack
- Server Hardware
- Operating System
- Database
- Application Server
- Web Server
- Application
So Oracle started as a DB company and so we have the flagship Oracle DB. Then it purchased PeopleSoft and gained the Application. Next it got a licence from red hat to rebrand and redistribute its OS- yes Oracle has its own Linux. Then it purchased BEA and gained control of Tuxedo and Web Logic. Oracle already had its own web server OAS- but its now dead. Well that leave hardware. And unless you have been living under a rock you should know that Oracle purchased Sun. So they have that too. So why is this so important. Well its the argument of State Machines vs Stateless Machines. In layman terms its Mac VS PC. With oracle controlling the entire system it can streamline it and get it to work better. Infact Oracle with the addition of OVM to this stack could sell pre configured data centers to clients. Imagine a PS server being delivered. Its pre configured all you have to do is plug it in and start using it.
So just like fusion being a game changer in the development space- Oracles VM, Linux and Sun purchases are going to change the infrastructure space.
So OK what do we do to get started with this stuff. Well the goal here is to build a VM server with a place to deploy SOA and maybe even a PS install.
So whats needed- Two pretty beefy boxes. One for the OVM Manager and one OVM Server. I would recomend a xeon box for each. With atleast 4 gb of ram.
So lets start with building a Manager.
- Install Oracle Enterprise Linux
- Install OVM Manager
This is going to be your main box to control everything with. I also use this box as my JDeveloper box so its not tied down to this 100% but it has to be running linux- so you probably dont want to use your laptop
Now we set out to build the OVM Server. Use the OVM Server disks to do a clean install on the second box. OVM Server is a basic linux install with xen on top of it.
Next create a server pool within the manager and add your server to the list.
Then download the SOA Suite template and install that via the manager to the server. And start that server. And your done. Now you have somewhere to deploy the packages you created. Also if you want to experiment. When you do the OVM Manager install it will give you a path to the WSDLs – maybe try to write a page or two in Jdeveloepr that can access them.
Till now we have looked at ADF as a pure DB Development platform. We havent done any real coding in Java or used web services with ADF. This next example does a very simple java program thats a web service and then we call the web service from an adf page. So for those of you who live under a rock or on Mars- Java will take the place of PeopleCode and will be used for all edit checking and programing services. So say we have todo a payroll calc then we would call a java program to do this calculation for us. This program would be a java program that can be called via a web service. So if we decide to change our business process where something (lets say an approval ) has to happen prior to the calc – this would just involve a simple change the the BPEL. BPEL would be doing the entire orchestration for our process.




