- Oracle Fusion: Service Oriented Architecture
- Oracle Fusion: Java
- Oracle Fusion: Internet Development Tools
- Oracle Fusion: JDeveloper 10gR3
- Oracle Fusion: Trubix Training Roadmap
- Oracle Fusion: Key Components
- Oracle Fusion: The Oracle Fusion Technical Platform
Internet Development Tools?
Client/Server is dead. It’s been dead for a while, its just that nobody has removed the carcass. Most new applications are being written as Internet applications. The one constant about Internet applications is they are constantly changing. Internet development environments need tools and technology that facilitate change.
Most Internet development environments need the following:
- A flexible environment that supports change.
- Ability to leverage existing applications with new applications. Building composite applications is very important.
- A commitment to open standards that are portable across platforms.
- Mature tools that support the technical infrastructure.
- Software that is reusable.
- Developers that understand the technology and are accessible.
- Ability to plug and play application components.
- Loosely coupled and highly cohesive systems.
- A software development environment that can align the business processes with the technology (IT) side.
- Technology that can support the enforcement of software engineering best practices.
- Strong deployment and software management infrastructure.
- Technology that can easily interface with legacy and future applications.
- Ability to support service life cycle management.
- A strong security model.
- Ability to focus on the “business value” and not the technology.
Over time technologies have emerged that are providing the above. They include:
- Integrated Development Environments
- Application development frameworks
- Application servers
- Web Services
- Software to organize Web Services.
- Software to monitor applications.
- eXtensible Markup Language
- Business Process Execution Language
- Service Oriented Architecture
- Identity Management
- Single Sign-On
- Software to manage the entire infrastructure of an n-tiered environment.
These technologies are all based on open standards and are independent of any vendor. An important point is if you need one you are likely to need a lot of the others.
Open standards have become a key component of any Internet solution. To write Internet applications today, requires a strong commitment to open standards. The reason is to operate with the widest possible scope requires using open standards solutions. The Internet is not ideal for a proprietary vendor environment.
Why The Need for Change?
Organizations building financial, supply-side, customer service, manufacturing, health care, communication systems, etc. have struggled with how to develop, integrate, deploy and maintain applications.
There are also other organizations and individuals building applications out on the web. The ability to easily tie into their functionality can reduce time to market as well. A simple example would be if you opened a chain of Mexican restaurants around town, having someone be able to tie a map-generating service with a mexican food locator service can make it very easy for customers to find your restaurants. Of course good food also helps them be motivated to find your restaurant.
To be able to make integrated components work together requires an infrastructure available to support it such as:
- Portability (Java)
- Communication (XML)
- Integration (Web Services)
- Integration Management (BPEL)
- Connectivity (SOA)
Today's Java applications are not just using J2EE. They are very often using XML, Frameworks, IDEs, Design Patterns, Web Services, ORMs, BPEL, SOA, Architectures with Java. This requires that some developers know a lot more than just Java. The point is this environment is a lot different than the traditional Oracle Forms/Reports, PL/SQL, C/C++, PowerBuilder and VB environments.
These tools and solutions are becoming one of the primary ways of building Internet applications. Organizations are having incredible success with these tools and solving the meaning of life and others are crashing and burning. This is not different than any other wave of new technology.
There are a lot of misperceptions about working with these new technologies as well. Vendors are promoting how easy everything is and how quickly enterprise scalable applications can be built. Vendors are showing all the point and click capability of IDEs but are not explaining the actual complexity required to customize and maintain these type of applications. At the same time brain surgery is simple if you know how to do it. Making sure the right skill sets, training, mentoring, design, architecture, management, deployment methods and risk analysis are key to these projects just like any other project you’ve ever worked on.
The ability to quickly build composite Internet applications is very important to a lot of organizations. This can significantly reduce costs and time to market. The ability to have a high degree of reuse is also an important key for this. The tools we’ve listed have become a popular way to achieve these results.
The Fusion Technical Platform
Okay, so you jump on the bandwagon and say “I’ve seen the light” and you want to just on board with all these new tools. Now you have a lot of questions to answer. Below are just a few of the questions you now have to answer:
- IDE: JDeveloper, Eclipse, IBM Websphere Studio, Java Studio, ...
- Application Server: Oracle, WebSphere, WebLogic, JBoss, Topcat, ...
- Language: Java, .Net, Ruby on Rails, APEX, PHP, ...
- J2EE Framework: Struts, ADF, ...
- User Interfaces: JSF, JSP, Servlets, ADF Faces, UIX, .NET, HTML, DHTML, CSS, ...
- Design Patterns: Which ones to use.
- ORMs: TopLink, Hybernate, ...
- How to manage web services
- How to tie everything together
- Deployment strategies
There is a wide choice of vendors and products. I have a lot of options so which ones do I now choose? What are the ramifications if I pick the wrong components? Do all the products I am looking at work together?
Oracle has selected the Oracle Fusion Technical Platform as their foundation for their next generation Internet applications. By following this technical platform, you are choosing a platform that Oracle applications is following, so you known it works.
All these products conform to open standards. So it is not required to use JDeveloper or the Oracle Application Server but working with one vendor that conforms to open standards can simplify the development and integration process. This is not the complete set of tools that make up Oracle Fusion. Yet the tools discussed contain a manageable start towards understanding the tools being used in Internet development projects..