Developer NationBy David A. Kelly
The choice of architecture, standards, and tools unites the Oracle enterprise application developer community.
Enterprise application development means different architectures, standards, and tools to different developer communities. At the same time that new architectures and scripting languages such as service-oriented architecture (SOA) and PHP drive the direction of application development at some
That's why Oracle has worked to provide a wide range of standards-based, integrated application development technologies and products for all types of business and IT needsfrom Web 2.0 to Microsoft .NET to open source, PL/SQL, and more. Take the example of the move to SOA.
"To enable a world where you can assemble capabilities quickly to create new applications systems, you have to implement the capabilities as services," says Anne Thomas Manes, vice president and research director, Burton Group. "From an Oracle developer perspective, that means you need to stop thinking in terms of n-tiered applications and start thinking in terms of service-oriented systems. Figure out where you've got a core capability that's used by multiple applications, and refactor that into a service."
Betting on the Future
While many organizations are using new application development technologies, there's still plenty of room for tried-and-true approachesespecially when it comes to creating highly scalable and responsive applications. Take the example of Betfair, an online gaming company that pioneered the concept of betting exchanges back in 2000. Headquartered in London, the company has approximately 1,200 employees, including about 25 Oracle database developers and 150 application developers.
Betting exchanges allow people to bet against each otherpeer-to-peer bettingrather than betting against the "house" or a traditional bookmaker. Betfair essentially serves as an exchange (like a stock exchange), facilitating bets between users and then taking a commission of the winnings. Today, Betfair is the world's leading betting exchange and one of the foremost online gaming sites in the U.K.
To accomplish this, Betfair relies on Oracle technology. It runs Oracle Database on several distributed databases around the world and has Oracle Data Warehouse running on Oracle Real Application Clusters (Oracle RAC). In addition, Betfair uses Oracle Coherence for its in-memory distributed data caching requirements and Ajax for its front-end applications.
But the core of Betfair's business logic is written in PL/SQL. The company has more than 250,000 lines of PL/SQL code, and the betting engine that runs that core exchange system is written entirely in PL/SQL.
"We really push the envelope of Oracle and PL/SQL with our exchanges," says Alex De Vergori, database architect, Betfair. "We take in excess of 5 million transactions a day, and it all goes straight through to the database, where those bets match with other transactions."
From an application architecture perspective, Betfair is also fully embracing the move to SOA. "Traditionally people look at SOA in a very middle-tier sense, and we're doing that as well," says De Vergori. "But we're also trying to apply those same principles within our existing database technology. So we definitely see this going more and more along those linescomponentizing well-defined interfaces and building a directory and services infrastructure for both our middle-tier and database logic."
One of Betfair's key business objectives is to reduce its time to market for new applications or functionality. That's where SOA comes in. Another part of Betfair's application development solution is using an agile development methodology. "We're finding that agile [development] works quite well for us. For example, it means that we can turn over more releases more quickly," says De Vergori.
As you might expect, the user experience is critical. In fact, the company's goal is to make the user betting experience occur in less than a seconda goal that Betfair is meeting with the help of Oracle technologies.
"We find that 99.99 percent of all our bets are matched and handled in subsecond response times," says De Vergori. "When you're turning over 1,000 bets per second at peak, that's quite a technology achievement."
For Betfair, the combination of proven PL/SQL application logic with new SOA and agile approaches is paying big dividends. And its initial bet on an Oracle architecture was a winning one.
"Oracle has been our core for almost the entire life of the company. The scalability you get with the Oracle database and, over the years, the improvements in the sheer raw speed of PL/SQLas well as the underlying data operationshave really helped our scalability," says De Vergori. "With Oracle, our scalability growth has been exponential, so that has really enabled us to succeed in our market."
It Takes a Community to Define Your Application
For some companies, competitive pressures and user demands drive application development and the urgency for new features. In such situations, organizations need both an application development process and an IT infrastructure agile enough to adapt quickly.
"We need to be able to go from the developer's starting point to deployment as quickly as possible and know that it will scale," says Levi Dixon, data architect, Community Connect, the leading publisher of niche social networking communities. Community Connect has five distinct social networking sites, including BlackPlanet.com and AsianAve.com. The company's flagship site, BlackPlanet.com, was recently ranked the fourth largest social network according to Hitwise, an internet viewership measuring company.
"As a social networking site, scalability, uptime, maintainability, ease of administration, and flexibility are very important to us, with the end goal of making the user experience as friendly as possible," Dixon says.
Dixon, a former developer himself, now guides Community Connect's developers in creating scalable applications, as well as designing the infrastructure to support those applications.
"There's a lot of thought that goes into making our site scale for large numbers of concurrent users, and Oracle's attention to this idea is resulting in new features that have immediate impact," says Dixon. One of those features is database resident connection pooling, introduced in Oracle Database 11g to address scalability requirements in environments requiring large numbers of connections with minimal database resource usage. "Connection pooling will be huge for us," says Dixon, for several reasons.
Reducing the cost of infrastructure is important. After initially trying to scale by adding hardware, Community Connect moved to a very distributed system. The approach has worked well, but it has also added management and administration requirements. To solve the challenges of a growing company, Community Connect is now in the process of implementing Oracle Database 11g and Oracle RAC. "[Oracle] RAC provides us the ability to build one consolidated database and add hardware resources as necessary," says Dixon.
Oracle's support for open source and standards like PHP is also very important for Community Connect. "PHP and Oracle used to be considered a strange combination. Now having Oracle working on and contributing to the PHP OCI8 extension, I am assured that features that I want to leverage will be available to our application in future database releases because Oracle is actively working on the extension with foresight," says Dixon.
"The PHP OCI8 extension's increasing support of existing OCI functionality and improving interface has made it easier for developers to access and manipulate data in a more scalable and maintainable fashion," says Dixon. "For example, prior to the upgrade to Oracle Database 10g and the most recent OCI8 PHP extension, a developer might have a situation where a loop in a Web page would need to execute the same query 20 times per result to fetch additional information for the 20 matching users. By leveraging the binding of user-defined types in Oracle Database 10g, developers can now pass in a collection of user IDs that they need information for and receive the requested data back in one logical round-trip."
Dixon believes that it's important for organizations to have a solid infrastructure base from which to leverage new technologies, which Oracle provides for Community Connect.
"From an infrastructure perspective, our road map incorporates Oracle because we believe it to be a cost-effective and highly reliable Web solution for the long term, with each new version providing increased abstraction for developers and less specialized knowledge required," says Dixon.
Sometimes when a company wants to rearchitect its software, the tools make all the difference. Take the example of PAETEC, a leading telecommunications provider based in Rochester, New York. When PAETEC rearchitected its successful telecommunications expense management enterprise software solution using Oracle Application Express, it got more than it bargained for.
"We looked at various options for the rearchitecture of our applications, including .NET and J2EE, but then we looked at Oracle Application Express and thought it was a great technology solution," says Dennis Vanill, senior software manager, PINNACLE Software Solutions, PAETEC.
Using Oracle Application Express, PAETEC was able to encapsulate traditional three-tier architecture directly into a consolidated Oracle environment. "The Oracle Database is our data tier, [Oracle] Application Express is our presentation tier, and in between we have a business logic tier, which we've implemented by using views within the Oracle framework," says Vanill. "In addition, we're wrapping an SOA framework on top of that, so that we'll be able to expose any of those views as Web service calls, enabling our customers to access the system through any tool they'd like."
"With Oracle Application Express, we were able to architect our entire enterprise-class commercial application, which consists of more than 800 windows and 900 tables, to leverage reusable user interface [UI] technology independent of our application API and views, to reduce the complexity of the entire UI framework," says Larry Foster, vice president/general manager, PINNACLE Software Solutions, PAETEC.
In addition, new features in Oracle Application Express 3.1 such as interactive reporting provide even more out-of-the-box functionality and power for users. "The new interactive reporting from a Web browser that we've included through Oracle Application Express will revolutionize the way people use a telecommunications expense management system," says Foster. "It provides functionality that customers used to have to purchase separately. Now, as long as you know what your data is, it's all presented to you in nice, organized views that a layperson can understand. With Oracle Application Express technology, the power to do spreadsheet analytics easily is all there."
But the benefits of using Oracle Application Express don't stop at more-powerful analyticsthey also extend to enabling customers to customize their PINNACLE deployment without custom coding. "Our decision to go with [Oracle] HTML DB, which has now evolved into Oracle Application Express 3.1, was based on adopting a philosophy to simplify the entire technology framework while providing flexibility to our customers to modify fields, windows, and menus and organize security roles to meet their job requirements," says Foster.
Mike Hichwa, vice president of software development, Oracle, says that Oracle Application Express has seen this philosophy in the development community. "Developers want simplicity and 'lightweight' ease of use," he says. "Oracle Application Express is a good example of this, since you can run it in a classic mode to do application development against an Oracle database, or it can be used in a hosted form, enabling users or programmers without a lot of experience to create full-fledged applications using a lightweight but sophisticated browser interface."
Although it's been a long roadclose to 20 years of changesfor PAETEC's PINNACLE application, Foster thinks the best is yet to come. "Now that we've completed the move to an Oracle Application Express-based architecture, we're really excited about being able to react, respond, and build new features and functions into the application much faster than we've ever been able to do in the past," says Foster.
Optimizing Business Processes
While some companies like PAETEC are leveraging Oracle tools to rearchitect software, other companies' application development efforts are focused in different areas. Development Dimensions International (DDI), for example, is focused on optimizing existing solutions to generate increased efficiencies.
DDI provides HR consulting services. It has 75 offices around the world and has had consistent double-digit growth over the past three years. DDI's IT infrastructure is primarily based on Oracle and Microsoft technologies, including Oracle E-Business Suite.
"From an application development perspective, we're focused on a lot of service-oriented projects right now," says James Hughes, manager of software engineering, DDI.
"A good example is the automation of daily exchange rates into our Oracle production system," he says. "We used to enter exchange rates manually, but now that we're operating in multiple countries, it's impossible. So we've used a service-oriented architecture to pull that information from a currency rate provider and then automated the entire process using ODP.NET [Oracle Data Provider for .NET] from Oracle. We created a Windows-based service using that technology to automatically update all of our currency information in our production Oracle databases."
In general, DDI's application development work focuses on creating solutions and automation for processes that span applications. "That's where the development of custom Web services is coming into play," says Hughes. "We need to expose Oracle data and functions to many of our applications, so we're developing a set of Web services that our software development teams can use to integrate well with other systems."
So far, the results have been impressive. Using ODP.NET and other Oracle technology, the company implemented a "print-on-demand" process that enables it to route orders for printed materials to locations around the world directly after an order is placed in Oracle E-Business Suite. "Our Oracle/ODP.NET print-on-demand process saves us warehouse space because we don't have to keep materials stocked, and it reduces shipping costs and legal restrictions when shipping internationally," says Hughes.
DDI has several developers with strong Microsoft backgrounds, so the company is making good use of Oracle's ODP.NET functionality. "We've found that ODP.NET is a great piece of technology. Since more of the people I work with are Microsoft .NET developers, we're able to leverage their knowledge set by using ODP.NET," says Hughes.
Hughes' team also finds Oracle SQL Developer a welcome addition. "Oracle SQL Developer is just easy to use," says Hughes. "It looks a lot like Microsoft SQL Enterprise Manager, so it was an easy transition for our people to pick up. We're constantly using Oracle SQL Developer to look at the database structures, run queries, and make sure that things are working correctly. It's pretty much one of those favorite icons on our desktops."
Graphical tools can help create scalable applications quickly and easily, but Hughes is also interested in Oracle E-Business Suite 12 to enable even greater efficiencies while reducing custom development. "We're looking at our business processes and trying to rearchitect them and find ways to use technology to make our employees more efficient," he says.
"We know that there are a lot of manual things going on out there, so we're looking at the other products Oracle has to bridge those gaps and make things work more smoothly," he says. "That's why we're looking at Oracle E-Business Suite 12 and exploring how we'll be able to solve those types of problems without having to build the types of custom applications we have in the past."
Building for the Future
New enterprise application development architectures, standards, and tools provide choice for developers. At the same time, new and changing business needs are driving application development, requiring developers to call on both traditional and cutting-edge application development technologies. The Oracle enterprise application developer community is answering business needs with the best technology choices and driving the future of enterprise application development.
David A. Kelly (email@example.com) is a business, technology, and travel writer who lives in West Newton, Massachusetts.