More Related Content Similar to AWValuePitch, 7_12 (20) More from Carlos F. Camargo, Ph.D. - Realtor, CalBRE #01988431 (20) AWValuePitch, 7_122. 2
© 2001 AltoWeb
Who is AltoWeb?
Founded December 1998
Seasoned Management team led by Ali Kutay
• Former CEO of WebLogic, Inc.
Funding
• Seed Investors: Ali Kutay, Frank Caufield, Regis McKenna
• First round: Intel 64 Fund
• Second round: Norwest Venture Partners
Based in Palo Alto, CA; 85+ employees
• Excellent Engineering Team (50+ employees)
3. 3
© 2001 AltoWeb
What is AltoWeb?
System Administrator
• Monitors
• Manages
• Deploys
Database Administrator
• Implements database
design
• Creates database objects
GUI Designer
• Creates application
look and feele-Business Analyst
• Creates application map
and process flow
• Creates process
“stubs”
System Architect
• Configures data,
process, interaction
objects
• Generates application
The team can now work on the same problem…using a common J2EE platform
Java Developer
• Extends applications
• Creates custom and logic
components
4. 4
© 2001 AltoWeb
The AltoWeb Value Proposition
Leverage and protect your J2EE investment:
Within a project
Across projects
Across an organization
Across time
Across infrastructure
6. 6
© 2001 AltoWeb
Java Pet Store
THE Standard J2EE Application
• Basis for J2EE Blueprints book and white papers
• Basis for JavaOne Deployathon exercise to prove
Application server portability
• Basis for J2EE server certification tests
• Demonstrated in Larry Ellison’s JavaOne 2001 keynote
7. 7
© 2001 AltoWeb
How much work with Standard J2EE?
Server Side
• 63 handwritten Java classes
• 21 handwritten Java interfaces
• 8,297 handwritten lines of Java code
Client Side
• ~200 lines of Java code embedded in 35 Java
Server Pages
• Very difficult to deal with since it is embedded inside
presentation markup
• 2,277 total lines of presentation markup (JSP)
8. 8
© 2001 AltoWeb
How much work with AltoWeb J2EE?
Server Side
• 9 database-mapped MetaObjects
• 17 SQL query customizations
• 14 visually documented process specifications
• 15 lines of Java code
Client Side
• Used existing JSP presentation
• Removed client Java code, improving maintainability
• Reduced overall markup quantity by 17%
Development Effort
• 3 man-weeks for novice AltoWeb developer
9. 9
© 2001 AltoWeb
Productivity Increases Rapidly
Producing Java Pet Store Server and Presentation Code with IDEs
Requires 211 Days or 10 Man-Months of Effort *
* One developer producing 50 lines of code a day, 10,574 lines of code
AltoWeb Requires 4 Man-Weeks, Including Training
Engineering Effort Comparison
Java Pet Store
0
40
80
120
160
200
Per Application
Man-Days
AltoWeb
IDE
10 X Productivity Improvement
Applications Created by Four Development
Engineers
Per Year, Java Pet Store
0
5
10
15
20
25
30
35
40
45
50
1 2 3 4 5 6 7 8 9 10 11 12
Months
Number of
Applications
AltoWeb
IDE
10 X Productivity Improvement
10. 10
© 2001 AltoWeb
Return on Development Effort
AltoWeb Has An Immediate Payback
Savings Grow With Each Application
Development Cost Comparison
Java Pet Store
$0
$20
$40
$60
$80
$100
$120
$140
$160
$180
$200
1st Project Subsequent
Applications
000's
AltoWeb Cost
IDE Cost
Cumulative Cost Comparison
Java Pet Store
$0
$100
$200
$300
$400
$500
$600
$700
$800
1 2 3 4 5 6
Number of Applications
000's
AltoWeb Cost
IDE Cost
12. 12
© 2001 AltoWeb
Reuse, reuse, reuse
Data Sources
Standard access to data of
all types
Reusable across projects
Abstract and/or compound
for reuse in different
environments
13. 13
© 2001 AltoWeb
Reuse, reuse, reuse
Business Processes
Independent of presentation
Business domain expert
and technical expert work
together effectively
Reusable across projects
14. 14
© 2001 AltoWeb
Reuse, reuse, reuse
JSP Pages
Auto-generate “Skeleton
and muscle”
Start in AltoWeb, then
polish in HTML editor, or…
…Start in HTML editor, and
flesh out in AltoWeb
Reuse standard pages
across projects (error, login)
15. 15
© 2001 AltoWeb
Reuse, reuse, reuse
Components
Starter set in product
Easy to add your own
Technical expert presents
“safe” units of functionality up
to business expert
Reusable across projects
17. 17
© 2001 AltoWeb
“Best Practices” in a box
A standard way to build J2EE applications
Separation of interfaces strictly enforced: model,
view and controller
A standard, reusable library of enterprise
functionality
Standard deployment, management, monitoring
across all J2EE applications
Code reviews and audits are quicker, simpler
18. 18
© 2001 AltoWeb
Consider this JSP page…
<%@page … %>
<HTML><BODY>
<%
try{
Integer userId = (Integer)session.getAttribute(“id”);
Context ctx = new InitialContext();
MyEntityBeanHome home =
(MyEntityBeanHome )ctx.lookup(“SomeJNDILookupString”);
MyEntityBean ejb = (MyEntityBean)home.findByPrimaryKey(userId);
%>
Hello
<%
out.println(ejb.getUserName());
}
catch(Exception e){
%>
<!-- error -->
Something is wrong:
<%
out.println(e.getMessage());
}
%>
</BODY></HTML>
<%@page … %>
<HTML><BODY>
<%
try{
Integer userId = (Integer)session.getAttribute(“id”);
Context ctx = new InitialContext();
MyEntityBeanHome home =
(MyEntityBeanHome )ctx.lookup(“SomeJNDILookupString”);
MyEntityBean ejb = (MyEntityBean)home.findByPrimaryKey(userId);
%>
Hello
<%
out.println(ejb.getUserName());
}
catch(Exception e){
%>
<!-- error -->
Something is wrong:
<%
out.println(e.getMessage());
}
%>
</BODY></HTML>
19. 19
© 2001 AltoWeb
So, what’s wrong?
Independence of interfaces
• Presentation, control flow and business logic are intermingled
Reuse
• Nothing can be separated out for reuse
Teamwork
• The author needed to know the whole J2EE stack
Change
• Change anywhere means change everywhere
Performance
• Distributed object calls being made from the browser
…but it’s totally J2EE compliant!!!
20. 20
© 2001 AltoWeb
Changing applications today…
18
7/11/2001AltoWeb, Inc. Confidential© 2001AltoWeb
Consider this JSP page…
<%@page … %>
<HTML><BODY>
<%
try{
Integer userId = (Integer)session.getAttribute(“id”);
Context ctx = new InitialContext();
MyEntityBeanHome home =
(MyEntityBeanHome )ctx.lookup(“SomeJNDILookupString”);
MyEntityBean ejb = (MyEntityBean)home.findByPrimaryKey(userId);
%>
Hello
<%
out.println(ejb.getUserName());
}
catch(Exception e){
%>
<!-- error -->
Something is wrong:
<%
out.println(e.getMessage());
}
%>
</BODY></HTML>
Steps to change the EJB support class without AltoWeb
• Understand the application and related standards
• the application flow, since a series of pages are dependent on the previous one
• the underlying J2EE Specifications and the application framework from the data
layer through to the presentation layer
JDBC JNDI EJB Servlet …
• the application framework API and the data layer API
• the deployment rules, including specified location, for this EJB
• application error handling reflected on the page
• Implement your changes
• Change the EJB source code
• Compile the EJB
• Deploy the application with vendor-specific tools
• Shut down and restart the server
• Test functionality and graphic design on the deployment server
• Repeat the above steps if necessary
• Release to production
21. 21
© 2001 AltoWeb
Changing applications with AltoWeb
Steps to change an AltoWeb application
• Locate the component to be changed
• This is typically at the data access or business logic level
• AltoWeb provides a visual model of the entire application
• Change the component using point and click configuration settings
• Save the changes
• Component changes are reflected immediately across an application
• Test the application
• Release to production
22. 22
© 2001 AltoWeb
AltoWeb provides clean architecture
<%@page … %>
<%@taglib … %>
<HTML><BODY>
Hello <aw:value name=”/user/name” />
</BODY></HTML>
<%@page … %>
<%@taglib … %>
<HTML><BODY>
Hello <aw:value name=”/user/name” />
</BODY></HTML>
Independence of interfaces
Reuse
Teamwork
Change
Performance
24. 24
© 2001 AltoWeb
“Organizational memory” in a box
Standard architecture helps
new people understand
applications
Visual environment exposes
application flow
Incremental testing exposes
application functionality at all
levels
25. 25
© 2001 AltoWeb
Changing the page with AltoWeb
<%@page … %>
<%@taglib … %>
<HTML><BODY>
Hello <aw:value name=”/user/name” />
</BODY></HTML>
<%@page … %>
<%@taglib … %>
<HTML><BODY>
Hello <aw:value name=”/user/name” />
</BODY></HTML>
Make your changes to the EJB
Save the changes
You are finished
26. 26
© 2001 AltoWeb
Brocade Change ROI
<%@page … %>
<%@taglib … %>
<HTML><BODY>
Hello <aw:value name=”/user/name” />
</BODY></HTML>
<%@page … %>
<%@taglib … %>
<HTML><BODY>
Hello <aw:value name=”/user/name” />
</BODY></HTML>
Make your changes to the EJB
Save the changes
You are finished
28. 28
© 2001 AltoWeb
Protect your investment…
…across Operating Systems:
• Windows NT 4.0, Windows 2000
• Solaris 7.x, 8.x
…across Application Servers
• BEA
• WebSphere (August 2001)
• Jboss
• Tomcat
• ATG (August 2001)
29. 29
© 2001 AltoWeb
Run-time Return on Investment
The AltoWeb Server Provides
Standardization on J2EE Best Practices That Reduce
Maintenance Costs
Architecture Separating Information, Business and Presentation Logic
Custom Tag Libraries, …
Quick Response to Changing Business Requirements
Use our structured environment to substantially change a data
mapping, process or presentation element without dropping down into
systems-level Java coding
Example: Changing CRM Systems
Underlying databases change both brand and data structure
Rebuild data objects once to generate the same data models as before
Reduced cost of change across all projects
30. 30
© 2001 AltoWeb
Run-time Return on Investment
The AltoWeb Server Provides (cont’d)
Reuse, reuse, reuse
Train people once, leverage organizational knowledge across many
projects
Leverage processes and data objects across many projects
Don’t “Recode the wheel”
Efficient Knowledge Transfer
AltoWeb users create applications that are easier to understand and audit
People can quickly pinpoint items in a standard architecture
Visual Application and Process Maps are quickly understood
Point and click presentation logic and data object
configurations are easy to examine
31. 31
© 2001 AltoWeb
The AltoWeb Value Proposition
Leverage and protect your J2EE investment:
Within a project
Across projects
Across an organization
Across time
Across infrastructure
33. 33
© 2001 AltoWeb
X
M
L
X
M
L
J
S
P
J
S
P
J
S
P
J
S
P
J
S
P
J
S
P
J
S
P
J
S
P
Views:
Transforms, Trigger & Respond
JSP Wizard – Auto Tag Generation
Actions:
Maps the process to Inputs & Outputs
Recv, Validate, Exec, Dispatch, Respond
Multiple actions for the same process
Data Sources:
SQL DB (JDBC or JNDI), Web Server,
File System, XML, HTML, Flat File
abs absDS DS DS DS
Meta Objects:
Data Source: Configure Queries
Abstract: Create Placeholders
Compound: Heterogeneous Joins!
Data Models:
Defines Structure, Houses DataProcess Data Model Process Data Model
Compound Compound
X
M
L
X
M
L
J
S
P
J
S
P
J
S
P
J
S
P
J
S
P
J
S
P
J
S
P
J
S
P
DS DS
Process:
The heart of the business logic,
Insert Standard & Custom components,
Create responses, Test processes
Editor's Notes AltoWeb was founded in Dec 98
We have spent the last 18 months focusing on the technology and creating a robust platform to support end-to-end e-business.
Seasoned management team is led by our CEO Ali Kutay who was the CEO of WebLogic that was sold to BEA
We have very solid backing which started with a seed round that was funded by Frank, Regis and Ali
First round funding by Intel 64 – very active in the Intel 64 programs and have received a tremendous amount of support from Intel
Second round funded by NorWest and Kevin Hall joined our Board.
We launched the company in June 2000 and started an early adopter program at the beginning of August.