Archive

Archive for the ‘web 2.0’ Category

OOW Presentations

September 22nd, 2009

Oracle Open World (OOW) is just a few weeks away.  It’s going to be a busy week for a lot of people!  Rolta TUSC will have a LOT of presentations that week.  We have 2 booths at the conference.  Numerous demo stations will be at the booth.  It’s going to be a fun week!  I have 3 presentations.  1 on Monday, 1 Wednesday and the final one Thursday morning.  I’ll be arriving on Sunday and heading home on Thursday.  I always love a week in San Fran!  Here are my presentations - please come see me!

Title: Wimpy Web Services Versus Powerful, Flexible Web Services
Track: Oracle Develop: Service-Oriented Architecture
Date: 12-OCT-09
Time: 11:30 - 12:30
Venue: Hilton Hotel
Room: Yosemite C

In this presentation, Brad will discuss the importance of strong Web Services, the difference between wimpy services and powerful flexible Web services. Many companies today are attaching SOA MBOs to their technical teams. These performance metrics often measure based on quantity rather than quality. What is quality? Reuse? Performance? Flexibility? Brad will discuss this topic in detail.

Title: Building a Mashup with Application Express
Track: Database
Date: 14-OCT-09
Time: 17:00 - 18:00
Venue: Moscone South
Room: Room 252

In this presentation, Brad will talk about how to develop a mashup using Oracle Application Express. Traditionally people think of ApEx as being an “Oracle database” tool only - not a mashup tool. However, Brad will show how you can consuming Web Services to access data from any source - Oracle, MySQL, SQL Server, Access, Excel, Cloud Databases (like Zoho), etc. In Brad’s presentation titled “Scalable Oracle ApEx” he explains how to create an n-tier architecture for ApEx. This architecture provides unparalleled scalability to your organization. This presentation explains the implementation side (i.e. the specifics) of this solution.

Title: Scalable Oracle Application Express: Case Study of a True N-Tier Architecture
Track: Database
Date: 15-OCT-09
Time: 09:00 - 10:00
Venue: Moscone South
Room: Room 306

Do you like the power and flexibility of Oracle Application Express (ApEx)? But…are you frustrated by the fact that it chews up database cycles generating dynamic HTML pages? Do your architects and DBAs go mad thinking about this? I know I sure have!  This presentation will demonstrate a solution to this architectural dilemma! A reference architecture is provided along with a case study that this presentation is based around. You’ll see exactly how to scale ApEx (inexpensively) within your environment.

Bradley D. Brown ajax, bpel, mashups, oracle, oracle application express, rest, soa, web 2.0, web services

Cool Apex Integration with AJAX, YUI, Google Maps, and more

March 9th, 2008

A few people have asked for information about integrating Apex with YUI, Google, etc. I have not written an article to go along with my presentation yet, but I wrote 2 things that might be of interest to you. First, I wrote a PPT presentation that discusses these topics in detail. Second, I wrote an Apex application that demonstrates each of the topics covered in the presenation. I’m presenting this topic at the Utah Oracle Users Group (see their Apex website) on Friday. You can download the presentation and the application at the TUSC site. You also might be interested in my Advanced Apex Topics presentation, which includes several great examples for Apex…and there is an application to go with that presentation too. I continue to be impressed by the Yahoo User Interface Toolkit (YUI). It’s SUPER easy to embed YUI functionality (i.e. Web 2.0 functionality) into your Apex application - it’s quite cool! Have fun!

Bradley D. Brown oracle application express, web 2.0

Web 2.0 (and AJAX) Toolkits with Oracle Apex

December 20th, 2007

Would you like to take your Web applications to a whole new level, but don’t want to spend countless hours writing AJAX and Web 2.0 code? Fortunately Google and Yahoo have greatly simplified this for all of us. Over the next couple of weeks, I’m going to demonstrate how you can integrate both of these toolkits into Oracle’s Application Express (Apex). Google and Yahoo went down 2 completely different paths as I’ll talk about soon enough. I can’t find anything about the integration between these libraries and Apex, so I’ll take that challenge on next.

Bradley D. Brown ajax, oracle application express, web 2.0

Presentation List

October 18th, 2007

I often get asked to present at different conferences, I thought it would make sense to publish my current presentation abstracts here. If you’re interested in having me speak at a user’s group, please call me (303)985-2213 or email me. Thanks for your consideration! See the link for prior presentations I’ve given.

Web 2.0


You’ve heard the term Web 2.0 and might be wondering exactly what it means to you and your business. You might be wondering what Web 2.0 includes. On the other hand, you might be right in the middle of it all, but noticing that more and more Oracle products seem to offer Web 2.0 entry points. Or maybe you’re not using Oracle technology for anything but your backend database. You might be wondering which other products should be under consideration? Which should be avoided? What’s a good entry point solution?

Internal and External Application Integration


Oracle Fusion Web Services ventured down the path of a full bore implementation of internal and external application integration in what I perceived as the most efficient and cost effective manner, you’ll get the benefit of my hindsight introspections today. Specifically, I implemented a light weight Service Oriented Architecture (i.e. Web Services) wherever it made sense. This presentation will discuss the good, bad and ugly about this approach that was taken. Knowing what I know today, I would in fact take this approach again. In fact, I highly recommend my self-named light-weight SOA.

Using Web Services, your customers (whether internal or external) are able to seamlessly access your core technology as if that technology is running in its own environment. This presentation will include a demonstration of the above mentioned application in action. If you have customers or vendors who have provided you with Web Services that you need to integrate into your existing applications, you’ll want to attend this presentation.

Advanced Oracle Application Express Tips and Techniques


Oracle Application Express (Apex) is a powerful and comprehensive tool. Numerous advanced tips and techniques will be covered in this presentation. These topics include: pop-up windows, complex searches, document management, indexing and searching, “tool tip” or hints, email links, page 0, help text, background jobs, “add to my calendar” feature, saving contacts (VCF), sending mass emails, and more.

Mapping Your Data with Google Maps


Do you have data in your Oracle database that you would like to visual map in Google Maps for your end users? This presentation will discuss and demonstrate how you can take a series of latitudes and longitudes and turn them into a visual map containing your data. Numerous implementations will be discussed including 1. using AJAX to pull records from the database based on the current Google map coordinates, 2. driving the map display based on properties on a map, 3. outlining census tracts on a Google Map.

Cleaning up with AJAX in Apex


Years ago I used to discuss performing asyncronous activities with the hidden JavaScript page. With the improvements to JavaScript and our use of XML, Asyncronous JavaScript and XML (AJAX) provides functionality we’ve been using for years, but it’s much easier to implement now. This presentation will cover AJAX in a variety of forms. Oracle Application Express (Apex) provides a little known secret called the “On Demand” feature…which allows for AJAX calls back to the database. Google and other companies provide AJAX functionality that you can use for application integration. In this presentation you’ll learn how to write your own AJAX server side code and how to make use of existing server side AJAX code.

Step-by-step Web Service Creation and Integrating or Using an Existing Web Service Tutorial


The Service Oriented Architecture (SOA) provides the foundation for any company’s business-to-business process delivery. Using Web Services, your customers (whether internal or external) are able to seemly access your core technology as if that technology is running in their own IT environment. This presentation will include a demonstration of the SOA application in action. This presentation will cover step-by-step Web Service creation and deployment. If you have customers or vendors who have provided you with Web Services that you need to intergrate into your existing applications, you’ll be happy that this presentation will also cover how to integrate and use an existing Web Service in a step-by-step manner. In this presentation, you’ll learn how Web Services can change how you deliver applications to your customers (and other internal groups).

Building a low cost non-Oracle grid for scale in your Oracle environment


Have you considered using Oracle Express (the free Oracle DB version) to reduce costs? Does the 4GB database size limit cause issues for you? Are you considering greating a low cost non-Oracle grid? Perhaps using MySQL or PostGRES? Do you already have your “master” database in Oracle? In this presentation, you’ll learn how IntelliReal stores their “master” database in an Oracle Standard Edition One database instance and uses a MySQL grid to provide a low-cost scalable solution to meet their needs. The Oracle database is about 4TB. The grid effectively stores a materialized view of the key data from the Oracle database, which is roughly 400Gb of data, into a series of physically partitioned MySQL databases. The data is US residential property data. Data is partioned by US counties - about 1000 databases (or schemas in MySQL). The grid started as a 5 wide grid and 2 deep (for load balancing), but is currently 1 wide and 10 deep. This architecture will be discussed in detail.

Case Study - How IntelliReal is using Web Services and SOA to seamlessly integrate companies


IntelliReal (http://www.intellireal.com/) is a real property market intelligence company. IntelliReal utilizes advanced technology and data aggregation to provide significantly enhanced data mining, accuracy, speed and reduced cost delivering valuation solutions. The Service Oriented Architecture (SOA) provides the foundation for IntelliReal’s business-to-business delivery. IntelliReal’s customers are able to seemly access the IntelliReal core technology as if that technology is running in their own IT environment. This presentation will include a demonstration of the SOA application in action. IntelliReal uses Oracle Application Express (APEX) as the “sales” tool, but typically delivers their solution from business-to-business using the SOA solutions. This presentation will cover the SOA and how it can change how you work to deliver applications to your customers (and other internal groups).

Case Study - How IntelliReal used Oracle Application Express to Rapidly Build their Production Environment


IntelliReal (http://www.intellireal.com/) is a real property market intelligence company. IntelliReal utilizes advanced technology and data aggregation to provide significantly enhanced data mining, accuracy, speed and reduced cost delivering valuation solutions. IntelliReal’s user interface was developed using Oracle Application Express (APEX). With most any technical presentation that you’ve attended, you’re likely always thinking about how to relate your environment to what the speaker is discussing and building a real world application using the tool. This presentation covers a specific business problem that was solved u
sing APEX: delivering a rich user interface for “show.” IntelliReal’s primary customer base are businesses. Most of the customers actually access the IntelliReal systems using SOA. The APEX application uses the SOA components too. This presentation will discuss the functional requirements, how the application continues to be extended, the net results and cost savings. This presentation will include an online demo and discussion of the components.

Application Express 101 - Introduction, Installation and Configuration (1/2 day)


In this session, you’ll learn to use Apex from concept to delivery to support. We’ll start with the basics of Apex– we’ll talk about installation and configuration options. We’ll use an existing database (i.e. an Excel spreadsheet) and build a real world application from the ground up. The exercises will cover a specific business problem that was solved using HTML-DB: getting people to RSVP to monthly events without having to call them. Sounds simple enough, but you’ll see how far this application was taken to solve this real world problem. This session will discuss and demonstrate the functional requirements, how the application was extended, the net results and cost savings.

Top DBA Scripts using Application Express


Developers and DBAs are always interested in scripts and tools that will help them be more efficient. This presentation will discuss how Apex can be used to manage and execute a library of DBA scripts. A number of helpful scripts will be discussed. The Apex application demonstrated will be available for you to download and install in your environment.

Advanced Oracle Application Express Tips and Techniques


Oracle Application Express (Apex) is a powerful and comprehensive tool. Numerous advanced tips and techniques will be covered in this presentation. These topics include: pop-up windows, complex searches, document management, indexing and searching, “tool tip” or hints, email links, page 0, help text, background jobs, “add to my calendar” feature, saving contacts (VCF), sending mass emails, and more.

Hands-on Application Express Full Day Session (8 hours and hands-on only)


In this full day hands on session, you’ll learn to use Apex from concept to delivery to support. We’ll start with an existing database (i.e. an Excel spreadsheet) and build a real world application from the ground up. The exercises will covers a specific business problem that was solved using HTML-DB: getting people to RSVP to monthly events without having to call them. Sounds simple enough, but you’ll see how far this application was taken to solve this real world problem. This session will discuss and demonstrate the functional requirements, how the application was extended, the net results and cost savings.

Apex is a declarative web-based application development & deployment environment. It’s a powerful and easy way to quickly develop a database-centric Web application. You can install Apex on your own machines or run in a hosted environment on Oracle’s site. All development (construction of pages) is done through the browser interface. You can use the SQL Workshop and the Data Workshop to run SQL and add data to your environment. This easy-to-use tool will impress you in no time at all!

This presentation gives the participants a good introduction and great hands on experience with the Apex development environment and a good idea of the power that it contains to create quick powerful Web application in a very short time.

Building a Real-World Application Express Application


With most any technical presentation that you’ve attended, you’re likely always thinking about how to relate your environment to what the speaker is discussing and building a real world application using the tool. This presentation covers a specific business problem that was solved using HTML-DB: getting people to RSVP to monthly events without having to call them. Sounds simple enough, but you’ll see how far this application was taken to solve this real world problem. This presentation will discuss the functional requirements, how the application was extended, the net results and cost savings. This presentation will include an online demo of the application and how to change it.

Changing the World with Oracle Web Services and the Service Oriented Architecture


Web Services are the next logical step in application development. They provide a major step forward in the Internet computing model. There are so many components and continual research going on in this area. This presentation will focus on the things you really need to know and care about with Web Services. This presentation will focus on a practical example of a Web service application of the future.

Building a Virtual Data Warehouse


Real-time data warehousing requires real-time access to operational systems and to a shared repository of dimension data. Users can then use the data warehouse environment for strategic reporting and trending, as well as tactical operational reporting. Some data warehouse implementations attempt to address the need for real-time reporting by introducing an “operational data store” into the architecture — an operational companion to the data warehouse. An operational data store commonly stores data in a format that is close to its format in the operational systems, minimizing the complexity of the transformations performed. The operational data store provides an integrated view of operational data. Operational data stores commonly don’t store much historical data, limiting their potential usefulness. This presentation demonstrates a virtual data warehouse, which will provide you with the best of both worlds.

Building Quick and Powerful Web Applications using Oracle Application Express


You may have heard about Project Marvel, HTML DB or Apex. This tool is a declarative web-based application development & deployment environment. It’s a powerful and easy way to quickly develop a database-centric HTML Web application. You can install Apex on your own machines or run in a hosted environment on Oracle’s site. All development (construction of pages) is done through the browser interface. You can use the SQL Workshop and the Data Workshop to run SQL and add data to your environment. This easy-to-use tool will impress you in no time at all!

The presentation starts with a definition of Apex; what is it, where did it come from and what are its major features. Next I will address the installation of Apex on a local machine or the ability to have applications hosted on Oracles site. I will move on to the uses for Apex; what type applications are best suited for Apex, examples of applications and their development time frames.

The first major section of the presentation will be a step by step walk through of creating a sample Apex application. During this section I will address in detail some of the features and capabilities of the development environment along with some of the gotchas that might come up. I will go into details on the components of a standard Apex “page”; the common things all pages possess, the way that components are shared between pages and the ability to apply application wide templates. I will demonstrate creating reports and graphs through the use of the built in wizards, standard to Apex. I will also talk about the built in security that Apex offers, both through login and through individual page and item security.

After demonstrating the construction of a simple application I will address more specific details such as the rendering process that happens as t
he page is created. This allows for the student to understand what happens under the hood and how it influences the pages as they are built. Next I will talk about how to manage and monitor the development environment. The entire Apex development environment is accessed via a web interface. Administration of this environment is also handled through this interface. An administrator can create workspaces, create users and assign privileges. Through this interface you can also view, create and modify almost any database object.

This presentation gives the participants a good introduction to the Apex development environment and a good idea of the power that it contains to create quick powerful Web application in a very short time.

Transforming Oracle Data Into ANY Format Using XML


You’ve surely heard a lot about XML. Get ready to understand its power with XSU, XSQL and XSLT. Learn how easy it is to extract data and manipulate it into a variety of output formulas. Attending this presentation will spark all kinds of ideas - from extracting XML from your database to receiving XML files from another server or another company. Join us for this session - and feel the power. Oracle 10g AS provides a powerful utility to help you generate XML straight from data in your Oracle database –- the XSQL processor. XML style sheets (a.k.a. XSLT with a file extension of XSL) allow you to manipulate XML into various usable forms. This presentation demonstrates just how easy it is to extract data and manipulate it into a variety of output formats.

Java-based Oracle Web Development (4-8 hours)


This presentation will cover a number of topics including a number of components that you should “study” to round out your development knowledge. JDeveloper 10g (and the ADF) is an amazing development environment. Each new version gets closer to rivaling Oracle Forms. Now with the Oracle Application Developer Framework (ADF), which includes TopLink and Struts, you can quickly and easily develop a GUI/HTML-based Web application using this point-and-click, drag-and-drop development tool. After JDeveloper’s ADF is covered, we’ll talk about Java Server Pages, Java Stored Procedures, and Java Database Connectivity. This presentation will wrap up discussing a number of other tools that you might want to consider for your development efforts.

Life Optimization


Every day that passes is one less that you have in your life. Do you want to get the most out of every day? Have you figured out the secret to life? Do you want to be an overnight success? Are you a success now? Maybe you want to have the most toys with you die? The 8 traits of the world’s most successful people will be covered. How many of these traits do you share with them? Brad will share techniques that have helped him through his career and personal life. The goal of this presentation is to provide you with take away value – a few golden nuggets that you can use in your life every day. I want to make a difference for you. Life’s too short not to enjoy every day. Great satisfaction comes from achieving on and off the job. This presentation will also include an exercise to get you started.

IT Optimization


This presentation will address IT Optimization and how it effects your organization. How can you provide real data that is relevant to business needs? Technologies like Oracle RAC, Grid computing, Linux all will play into your future. Rapid application development is also a key to your future success. Gartner Inc.’s list of top 10 resolutions for CIOs in 2005 includes at number six, “Get hands-on experience on new key technologies. ” This presentation will talk about tools such as JDeveloper and Apex which bring rapid application development to a whole new level.

Resolving Conflict with the Arrow of Truth


Have you ever run into a conflict at work or at home, but you had difficulty resolving the problem? By using the methods described in this presentation (the arrow of truth), you will be able to work through issues that otherwise may appear irresolvable. This method works not just at work, but at home too.
Funny idea for a presentation - show a video on top of someone’s face. Kind of like a ventriliquist, but with a video projector. Got the idea from seeing Dave Maney stand in front of YPO group with projected video shining on his face - looked like lips on his forehead. Could line people up (1-n) with x’s. Could record it and play it back for everyone too.

Developing New and Using Existing Web Services


We’ll find some existing Web Services and make use of them in our application, then we’ll develop some Web Services for others to use. This full day session will cover Web Services end-to-end.

Web Services are the next logical step in application development. They provide a major step forward in the Internet computing model. There are so many components and continual research going on in this area. This presentation will focus on the things you really need to know and care about with Web Services. This presentation will focus on a practical example of a Web service application of the future.

Having ventured down the path of a full bore implementation of internal and external application integration in what I perceived as the most efficient and cost effective manner, you’ll get the benefit of my hindsight introspections today. Specifically, I implemented a light weight Service Oriented Architecture (i.e. Web Services) wherever it made sense. This presentation will discuss the good, bad and ugly about this approach that was taken. Knowing what I know today, I would in fact take this approach again. In fact, I highly recommend my self-named light-weight SOA.

Using Web Services, your customers (whether internal or external) are able to seamlessly access your core technology as if that technology is running in its own environment. This presentation will include a demonstration of the above mentioned application in action. If you have customers or vendors who have provided you with Web Services that you need to integrate into your existing applications, you’ll want to attend this presentation.

Bradley D. Brown ajax, authorship, bam, bpel, mashups, oracle application express, web 2.0, web services

Thinking in Web 2.0

October 16th, 2007

When it comes to application development, if you’re “thinking in Web 2.0″ it will help you take all of your application design to a whole new level. IntelliReal provides real estate intelligence to their customers. The application itself (the UI) is built with Oracle Application Express (Apex). Users have the ability to view information about a property. For example, MLS information, county assessor data, maps, and more can be viewed about a subject property. IntelliReal determines a value for every possible property in their database (about 80 million properties in the US). Considerable data is also available to support the property value (i.e. what someone might expect to pay for the home). For example, comparable properties (and their respective information), recent area sales data, neighborhood comparisons, numerous graphs and more are provided to support a valuation.

One of the Web 2.0 features is the concept of authorship or blogging. The concept is pretty simple. Your application should allow users to write a document and attach it to something useful in the application. If you can tie the document to a “record” you’ll see true benefits.

IntelliReal’s users can be independent, but they can part of a company or even a sister company (i.e. they support parent companies). Based on the concept of authorship, I added functionality to our application, that allows a user to author notes about any property. Notes can be private (i.e. for the person’s eye’s only), shared with everyone in their company or publicly available. The user decides who their notes will be available for.

The next Web 2.0 concept that I intend to implement in this application is tagging. I plan on allowing users to specify tags for any property. For example, a user might determine that they want to tag a property as an investment opportunity or as a friend’s home or my home, etc. Then when viewing properties that I’ve requested information for, the user will be able categorize the properties (i.e. group by) the tags created by the user.

If you’re a developer or designer, take a minute and think about how you can “think in Web 2.0.” And if you’re an application user, take a minute and provide some feedback to your development team helping them “think in Web 2.0.”

Bradley D. Brown authorship, tagging, web 2.0

Web 2.0 Development Environments

October 11th, 2007

We’re down to the last section of the Web 2.0 article and here it is. In this section, I discuss the Oracle development environments that you might want to consider:

Development Environments
Web 2.0 includes a number of development environments. In this paper, we’ll discuss:

  • Oracle Application Express
  • WebCenter Suite
  • Ruby on Rails
  • Grails on Groovy
  • .NET
  • PHP
  • Flash and Flex

The development environment you select will depend on numerous factors including your core competencies. If you’re an Oracle shop, Oracle Application Express is the most logical place to start.

Oracle’s Application Express (Apex)
Apex provides an excellent entry point (and long-term) solution to take you into Web 2.0. Apex provides solid Web 2.0 user interface components, the ability to develop mashups, collaborate, embed Web Services and so much more. If you’re interested in more specifics about Apex and how it fits into the Web 2.0 world, visit: http://www.oracle.com/technology/products/database/application_express/html/web2.0.html
The foundation of Application Express (i.e. the PL/SQL module for Apache) is not new technology by any means. It’s been around since the early 90s (except that it was embedded into a Spyglass app server). Apex uses SQL and PL/SQL as its basis for development. Apex abstracts the developer from writing HTML, AJAX, Web Service calls by providing an amazing wizard-based development environment. Apex is an excellent development tool for any existing Oracle shop where the core competencies include SQL and PL/SQL skills.

Oracle’s Apex Website (http://www.oracle.com/technology/products/database/application_express/index.html), hosted environment (http://apex.oracle.com/) and Apex forum (http://forums.oracle.com/forums/forum.jspa?forumID=137) all provide you with greater starter kits, tutorials, sample and starter packaged applications (including employee directories, ask the expert – i.e. Ask Tom, bug tracker, discussion forum and issue tracker – i.e. Metalink and so many more), white papers and considerable Apex knowledge.

Apex includes many Web 2.0 features including build-in AJAX (called On Demand Processes), functionality to integrate into your applications, Web Services, Partial Page Request (PPR) Reporting and Charting, Auto Updating Reports and Charts, Reports with AJAX based Detail Frames, AJAX-Based Cascading Select Lists, Query Builder, SQL Workshop Query by Example, Flash charting, tooltips, and expanding trees.

Apex has always done a great job of providing its roadmap for the future. Version 4.0 of Apex has been touted as the Web 2.0 version, which will include some new Web 2.0 functionality including:

  • Interactive reporting region types which natively integrate Web 2.0 features to filter, break and sort data
  • Declarative support for AJAX validations
  • New item/region types, including DHTML calendar and AJAX tree

For more information on Oracle’s Apex statement of direction, see: http://www.oracle.com/technology/products/database/application_express/apex_sod.html

There are two additional benefits of using Apex:

  1. If you already have an Oracle database, you already have Apex. In other words, it comes with the database. You don’t have to purchase Apex separately. So you get Apex “for free.”
  2. If you don’t already have an Oracle database and you can run your application on Oracle Express (Oracle Database 10g Express Edition or XE), you can run your application on Oracle and Apex for free. In fact, XE is an excellent free solution provided by Oracle. XE comes with Apex as the built-in database management and development environment. With XE you can develop using Apex, Grails, Java, PHP, .NET, or most any development environment. See http://www.oracle.com/technology/products/database/xe/index.html for more information.

WebCenter Suite
If you’re looking for an Enterprise level Web 2.0 solution, then WebCenter Suite is the Swiss Army Knife of Web 2.0. All of the above applications, components and functionality can be created with WebCenter. WebCenter Suite includes functionality for:

  • Visual interfaces of Web 2.0
  • Oracle ADF Faces
  • AJAX
  • Adobe Flex
  • Collaboration & Social Networking - Wikis and Blogs - Authorship
  • Linking and Tagging
  • Content Management
  • Search Management
  • Portal and Mashups
  • Web Services and other Extensions

WebCenter is the main integrated development environment (IDE) for all Oracle eBusiness Suite applications. WebCenter has been around for some time. It was formerly called JDeveloper, which is a complete IDE (not just for Java). WebCenter is the future of Oracle Fusion. For more information see: http://www.oracle.com/technology/products/webcenter/services.html

WebCenter is Oracle’s promise land for Web 2.0 and the future of all Oracle Fusion Middleware development. For more information about AJAX within WebCenter, see: http://www.oracle.com/technology/tech/java/ajax.html

All of the new open standards Portal functionality is built into WebCenter. If you’re interested in developing a complete mashup application, you’ll want to read Chris Ostrowski’s book, “Oracle Application Server Portal Handbook” (http://www.amazon.com/Oracle-Application-Server-Portal-Handbook/dp/0072264608) and his Web site demos (http://oski-oracle.info/index.html). Oracle’s demos provide about 10 percent of what you’ll need to do. Chris’ excellent demos will provide the rest of the critical information.

You may also wish to check out the WebCenter and Web 2.0 Forum: http://forums.oracle.com/forums/forum.jspa?forumID=354

Ruby on Rails
Many sites have been developed using Ruby on Rails. Ruby uses a template-based approach to application development. The RubyOnRails Web site (http://www.rubyonrails.org/) provides great tutorials and other pertinent information about Ruby. Ruby helps you follow best practice methodologies without coding as such – i.e. it’s automated. There are several great articles for using Ruby for Oracle such as http://www.oracle.com/technology/pub/articles/haefel-oracle-ruby.html. Sites such as http://www.bookrenters.com/ use Ruby as their development platform. Ruby can be thought of as a Web 2.0 development environment. Web Services will automatically be created for each interface that you develop.

Rails is similar to SmallTalk, which is not an easy programming environment to learn. Ruby greatly simplifies Rails development by writing large chunks of Rails code for you. The good news is that when you extend beyond the capabilities of Ruby’s wizards, you’ll be able to do anything
you would like with Rails.

Ruby is a great development environment for “open source” shops. If you’re an Oracle shop, Ruby is not likely to be your first choice. Rather Apex is often the first choice for Oracle-centric Web 2.0 developers because Apex uses PL/SQL as its core language of choice. Rails is an object-oriented language, which is similar to Java in that regard. Java is typically difficult for Oracle developers to learn.

Grails on Groovy
If Ruby on Rails isn’t confusing enough, how about Grails on Groovy? Grails is the Java version of Ruby. Grails provides a quick development framework. Grails is to Groovy what Ruby on Rails is to Ruby. You can obtain more information at http://build.canoo.com/grails/. Grails is a good Web 2.0 environment if you’re a Java shop looking for a Ruby-like solution.

.NET
If you’re a Microsoft shop, then .NET is likely your development world. .NET is effectively Microsoft’s Web Service world. Oracle provides .NET toolkits for WebCenter. See http://www.oracle.com/technology/tech/windows/odpnet/newbetafeatures.html?msgid=5904414 for more information.

PHP
PHP originated out the Perl shops. If you’re a Perl shop, you might want to consider PHP for your Web 2.0 development. Oracle also provides PHP toolkits for Oracle. If you’re interested in these toolkits, see: http://www.oracle.com/technology/tech/php/index.html

Flash and Flex
If you like Oracle’s Application Developer Framework (ADF), but you don’t feel its “open source” enough for you, you might want to consider using the Eclipse IDE with the Adobe Flex plug-in. Flex provides the Web 2.0 functionality and the rapid application development that you’re seeking.

Adobe Flash is used by many of the Web 2.0 application development environments. For example, Apex includes Flash for charting.

Videobloom (http://www.videobloom.com/) provides a number of Flash-based development toolkits.

Conclusion
As you can tell, Web 2.0 is a complex topic. Oracle recently created an excellent Webcast on Web 2.0. that complements this paper. You can find this Webcast at: http://www.oracle.com/pls/ebn/live_viewer.main?p_direct=yes&p_shows_id=5828710
Hopefully this paper has provided you with a better understanding of the components involved in Web 2.0 as well as the development environments that are available. Again, if you’re a traditional Oracle shop, Oracle Application Express is the most logical place to start your Web 2.0 effort.

Through this paper, you’ve seen examples of how Web 2.0 delivers a new platform of real-world applications that allow employees and customers to share information in a much more cost-effective method. Hopefully they have inspired you to think about how you can replace email as your business’ collaboration tool and how you might approach a Web 2.0 application for your employees and customers.

For Further Reading:
White Paper:

(www.tusc.com/wp)
Internal and External Application Integration through Web Services

Web Briefing:

(www.tusc.com/briefing)
Internal and External Application Integration through Web Services
How IntelliReal uses Web Services to Enable Customers to Better Service their Clients

Books:

Oracle Application Server Portal Handbook (ISBN: 0072264608), by Christopher Ostrowski
Oracle HTML DB [Apex] Handbook (ISBN: 0072257687), by Lawrence Linnemeyer & Bradley Brown

Bradley D. Brown .net, flash, oracle application express, web 2.0, webcenter

Web 2.0 Components - AJAX

October 10th, 2007

Today I’m going to continue my Web 2.0 article. In today’s Blog, I’m going to cover up through AJAX and tomorrow I’ll cover SLATES in detail.

Web 2.0 Components
It’s time to take a look at the components that make up Web 2.0. AJAX provides the visual side of Web 2.0. A number of other technologies make up the collaboration and robustness of Web 2.0. Oracle came up with the SLATES acronym to define the Web 2.0 components. In this section, we’ll discuss AJAX and SLATE:

  • AJAX - Asynchronous JavaScript and XML
  • SLATES
  • Search
  • Link
  • Authorship
  • Tagging
  • Extensions
  • Signaling

Asynchronous JavaScript and XML (AJAX)
The concepts of AJAX have been around since frames were introduced into the Web browser. At TUSC we first implemented “AJAX” into Web applications more than 10 years ago. In my first presentations on this subject, I called this concept “Field level validation.” AJAX is typically the primary component responsible for making a Web application look and act like a desktop application. AJAX allows your application to seamlessly call the server based on any event (i.e. keystrokes, time passing, mouse movement, etc.).

Remember that a traditional Web application requires that the entire page is sent to browser for every request. In other words, historically when you clicked on a button in a Web application, the browser would send a HTTP request to the Web Server, which in turn would return a Web page in its entirety. There was no such capability available that provided “partial page rendering.” However, using sneaky techniques, developers figured out ways to make “secret” (or hidden) requests of the server via hidden frames using JavaScript, which would force events to occur in the browser – i.e. render a component on a page. As was mentioned above, we often used this technique for things like field level validation for “heads down” data entry pages. This allowed a user to enter the product ID and upon exiting the field (i.e. which caused a JavaScript onBlur event), we would make a call to the server to look up the part number and return a description and a picture of the item. 10 years ago, this was considered innovative. Today – this is built into browser functionality – it’s AJAX.

I’d like you to think about Google Maps for a minute. If you’re not familiar with Google Maps, please take a minute to go to the Website (http://maps.google.com/) and type an address in. Then click on the buttons in the map, such as zoom in and out, view the satellite map, etc. The last step I’d like you to try is to drag and drop the map to view a new portion of the map. Now let’s think about what’s required as these buttons are pushed and mouse events occur. When the page first displays, the server sends the entire page to the browser. From then on, AJAX does most all of the work. When you enter an address, note that your entire page does not refresh, just the map refreshes. If you enter a business name or category (i.e. paint store) with the city, the map (not the page, just the map) refreshes along with the business flags on the map. The browser makes an AJAX call to the server with the address you enter and returns all of the information necessary (as XML) for the map to be updated along with flags associated with business, address, etc. that you provided. When you think about the map, it’s made up of series of images that are displayed contiguously. When you drag and drop the map, Google’s AJAX code keeps track of the images that have already been loaded and only requests (of the server) the images that it needs to complete your “new” map.

Now let’s take this to another level of map integration. Google supplies an AJAX library that you can use to visually display any data you wish to see using their maps. For example, check out the Terabitz Website (http://www.terabitz.com/), which is shown below. This site is called a “Mashup.” Enter an address and Terabitz uses a number of Web Services to pull together data and represent the data graphically using Google Maps. Note that when you drag and drop the map, not only does Google know to pull in the needed additional mapping images, but Terabitz pulls the additional items that belong on your map (such as a recent home sale). How is this possible? The Google AJAX library is able to tell you the latitude and longitude coordinates of map being displayed, which in turn can tell you which additional records (from your database) you should include for mapping. Or in Terabitz case, allows them to call additional Web services to combine information from a number of valuation engines.

Terabitz Application

Let’s talk about AJAX and how it does all of this cool stuff. First, let’s break down the name itself. AJAX stands for Asynchronous JavaScript and XML. Asynchronous simple means that while the user is continuing to do their work in the browser (i.e. unbeknownst to the user), we’re going to have some code executing asynchronously (i.e. at the same time) in the background. JavaScript is the language that’s used on the browser. XML is how the data from the server is returned to (and then parsed) the JavaScript code. What you do with the data you receive back is up to you. It might display an alert message, fill in text or graphics, or call other JavaScript libraries. Using AJAX you could use Google’s library to place flags (representing properties or businesses) on the map that is current within the window.

Now that you have a better feeling for what you can do with AJAX along with some example applications to visit, you might be wondering, “how do I implement AJAX?” What add-ins are required on the browser? You might be thinking about Applets and Active-X controls that have prompted you for security questions and wondering if AJAX does this too. Fortunately AJAX is built into the browsers and has been for quite some time now. There is nothing to install on the browser – it’s already all there. Specifically, I’m referring to the XMLHttpRequest JavaScript statement. Therefore, all that’s required is that JavaScript is available on the browser. When it comes to “implementing AJAX,” you can write your own AJAX libraries, use vendor provided libraries (such as Google’s AJAX libraries for Google Maps), use retail libraries (such as Backbase), and use open source libraries (such as OpenAJAX Alliance http://www.openajax.org/ and the OpenAjax Hub http://www.openajax.org/OpenAjax%20Hub.html).

If you’re going to write your own AJAX library, you’ll want to search for information on the Web. There are many great articles and tutorials on this subject. I’d recommend taking a look at numerous AJAX-based applications so you get ideas on the functionality that you want to embed into your application.

Take a look at the sites mentioned above and applications like Google Suggest (http://www.google.com/webhp?complete=1&hl=en) where as you type a phrase, Google will offer suggestions (and how many matches there are for each possible phrase that matches):
Google Suggest.

If you’re interested in conferences on AJAX, check out AJAXWorld (http://www.ajaxworld.com/). If you’re interested in playing with some AJAX libraries and learning more about AJAX, I’d recommend checking out the Google libraries. Google’s libraries include the search API (
http://code.google.com/apis/ajaxsearch/
) and the Maps API (http://www.google.com/apis/maps/documentation/). Google also has an impressive Mashup editor that you can use (http://code.google.com/gme/) and so much more!

Oracle has also made it clear that they plan to fully support the AJAX and Web 2.0 movements. Oracle calls it Enterprise Web 2.0. In the article titled “Oracle Pushes Enterprise Ajax Frameworks” (http://www.computerwire.com/products/locator/?pid=AE6D8B24-EF32-4251-A5D3-28D8CCE6B5E1) it’s clear just how much Oracle wants to push AJAX and Web 2.0. On numerous fronts, Oracle has been a thought leader for new technologies. For example, before Java Server Faces (JSFs) were a standard, Oracle came up with their own version called User Interface Extensions (UIX). They helped the standards committees establish the standards in the JSF world. This was true for Web Services too. One thing that I greatly respect is that Oracle knows how to be a part of the standards committees and they know how to make sure the open standards are implemented in their development platforms before anyone else does. This is quite impressive.

Bradley D. Brown ajax, authorship, components, extensions, link, search, signaling, slates, tagging, web 2.0

Web 2.0 - The Introduction

October 8th, 2007

I finally finished the first draft of my Web 2.0 article. This will go through some editing now, but I wanted to get the first part of this article out here ASAP - I’m going to publish the article in pieces since it’s not a simple cut and paste operation:

The Introduction

You’ve heard the term Web 2.0 and might be wondering exactly what it means to you and your business. You might be wondering what Web 2.0 includes. On the other hand, you might be right in the middle of it all, but noticing that more and more Oracle products seem to offer Web 2.0 entry points. Or maybe you’re not using Oracle technology for anything but your backend database. You might be wondering which other products should be under consideration? Which should be avoided? What’s a good entry point solution?

Perhaps you missed Web 1.5 altogether. If so, you might be wondering whether you can jump right into Web 2.0 or if you have to start at Web 1.5 first. If you missed Web 1.5, you’ll be happy to know that you can skip directly into the Web 2.0 world. If you’re looking for a competitive differentiation for your company, Web 2.0 will provide this for you. The primary advantage of a Web 2.0 application is that it’s VERY simple to use!

As the name implies, Web 2.0 is the next generation of the Web. Web 1.0 helped us take data and publish it to the Web – primarily via dynamic HTML pages. Web 2.0 goes beyond the user interface. One of the common issues with Web 1.0 offerings was that people (i.e. customers and vendors) wanted the content (i.e. the data), but not the presentation (i.e. HTML wrappers). So people effectively wrote screen scraping methods of extracting the data. We sometimes pondered the legal aspects of doing so with public data – such as stock quotes from Yahoo. With Web 1.5, Web Services replaced the need for screen scraping. It’s now time to move to the next level with Web 2.0. Concepts such as social networking and collaboration (i.e. blogs, RSS and wikis) are part of Web 2.0. Additionally mashups (portals) are an important component of Web 2.0. In other words, Web 2.0 takes the Web to a whole new level!

One of the primary issues in business today is that people are using email as the collaboration tool of choice. Much of what’s behind Web 2.0 is taking collaboration to a whole new level. This evolution doesn’t mean that you’re going to sit in more meetings or communicate remotely using a suite of collaboration software. Rather, Web 2.0 delivers an entirely new platform of real-world applications that will allow your employees and customers to share information in a much more cost-effective method. Keep in mind that Web 2.0 is not a tool – it’s a platform. Most of the tools and concepts that comprise the Web 2.0 platform originated in the open source world. These tools have changed the way that people communicate inside and outside of companies.

The concepts in Web 2.0 aren’t new concepts, but they are becoming mainstream. It’s interesting to note that Web 2.0 is very similar in concept to what Forrester Research called Transactive Content in a white paper that was published 10 years ago – yes, the Forrester report was released at the 1997 Forrester Forum!

Hopefully you’ve seen a Web Application and thought, “wow that takes the Web to a whole new level.” Now imagine if your entire business revolved around an entirely new level of collaboration capabilities. The visual component of a Web 2.0 application often looks like a traditional client/server application or a standalone desktop application. In other words, Web 2.0 provides a desktop-like user interface. Microsoft Office Outlook Web Access looks like Outlook that is running standalone on your desktop or laptop. Google Maps (http://maps.google.com) looks like a standalone application running on your laptop, yet it’s a browser-based application. Enter an address in Google Maps and you’ll visually see a map of the address’ location. You can zoom in and out, drag and drop the map, get a street view, view traffic information, see a satellite view, and so much more. Another impressive Web 2.0 site is the Cyberhomes site (http://www.cyberhomes.com), which provides an attractive user interface with informative graphics and other Web 2.0 functionality. Flickr and NetFlix are some other familiar names in the Web 2.0 realm of user interfaces.

Many companies offer the backend Web 2.0 components that you can embed into your own application. These backend services are called Web Services. Without scraping HTML for data, you can make “their data” appear on your site as if the data is coming from your own databases. You can pull data together from a number of different companies’ data into one consolidated site. When you pull together data from numerous (i.e. two or more) companies, this aggregation is often called a mashup or a composite application. Google, eBay, Amazon, and Zillow, for example, provide publically available Web Services, and many such services are available for free. If you’re interested in reading more about Web Services, there are several articles and presentations in the reference section at the end of this paper.

Those of us in the technology business sometimes get lost in the marketing white papers and do not know where to go to get the “truth”. This article is meant to be your “truth article” on Web 2.0.

In this paper, we’ll address some of Web 2.0 concepts that might be less understood. You’ll find this paper of interest if you do not understand how Web 2.0 applies to myriad of development environments that tout their Web 2.0 capabilities such as Oracle’s Application Express (Apex), Ruby, Java, .NET, PHP and more. If you’re wondering where each of these components fit into the Web 2.0 picture, this paper will be of interest to you. For example, you’ll get answers to questions like “what is Ruby, why would I want to use it?” and questions like “What skill set do I need to use it, how hard is it?”First we’ll cover the components (i.e. what makes up a Web 2.0 application environment) and provide some examples of how others are using Web 2.0. Hopefully, these examples will inspire you to brainstorm about how you can use Web 2.0 technology for your company or customers. We’ll then explore a variety of Oracle-based Web 2.0 development platform choices that are available.

Bradley D. Brown blog, collaboration, rss, web 2.0, wiki

A Few Pictures from the Brown Art Collection

October 8th, 2007

Austin (my son) and I love photography. Here’s a sample of some of our art work and recent activities. Enjoy! Bye bye Flickr, hello Google picture library. How cool is this Web 2.0 feature:

Bradley D. Brown art, flickr, google, photography, web 2.0

Time to Start Blogging

October 7th, 2007

Based on a conversation on Friday, I thought I’d check out the new Google Mail. As usual, I was incredibly impressed with Google. I’ve been working on a Web 2.0 article for a while now. I’ve come to the conclusion that Web 2.0 is going to be our attempt to replace something that’s terribly efficient in the business world - email! Google Mail changes the email landscape - maybe we don’t need to “replace” email. I’ve been using Flickr for my picture library, but Google now has this feature too. The contact management, calendaring, document management and collaboration and everything else that Google continues to offer the world continue to amaze and impress me. Excellent use of funds Google!

Bradley D. Brown blog, flickr, google mail, web 2.0