SlideShare a Scribd company logo
1 of 16
Project BCOOL Standards Document




               Project BCOOL Standards Document
                  DoTheSimplestThingThatCouldPossiblyWork




Confidential                       Page 1 of 15             1/17/2013
Project BCOOL Standards Document


                                                                        Table of Contents
 PROJECT BCOOL STANDARDS DOCUMENT.............................................................................................................. 1
 DOTHESIMPLESTTHINGTHATCOULDPOSSIBLYWORK............................................................................................. 1
 TABLE OF CONTENTS................................................................................................................................................... 2
 TABLE OF FIGURES....................................................................................................................................................... 2
1. ENGINEERING STANDARDS...................................................................................................................................... 2
2 REFERENCE WEBSITES............................................................................................................................................ 14
EPILOGUE
EAT OWN DOG FOOD.
COURTESY: “SHOW-STOPPER!: THE BREAKNECK RACE TO CREATE WINDOWS NT AND THE NEXT
GENERATION AT MICROSOFT”
   BY G. PASCAL ZACHARY. HARDCOVER (OCTOBER 1994)................................................................................15

                                                                           Table of figures
FIGURE 1: THE BCOOL HIERARCHY OF JAVA PACKAGES SHOULD LOOK LIKE COMBINATION OF THESE TWO.
.......................................................................................................................................................................................... 5
FIGURE 2: SAP R/3 SUPPORT IN VAJ ENTERPRISE.................................................................................................... 6
FIGURE 3: CONNECTING VAJ WITH VSS “CODEBASE”............................................................................................... 7
FIGURE 4: DEFINING/CHANGING THE VSS CONNECTION FROM VAJ......................................................................7
FIGURE 5: ADDING VAJ FILES TO VSS "CODEBASE".................................................................................................. 8
FIGURE 6: PROPOSED BUILD CONFIGURATION INFRASTRUCTURES.....................................................................9
FIGURE 7: THE RESULTS OF RUNNING ANT BUILD TOOL FROM COMMAND-LINE...............................................10
FIGURE 8: SETTING ANT.MAIN PROPERTIES AFTER IMPORTING AND VERSIONING ANT AND JAXP................11
FIGURE 9: THE RESULTS OF RUNNING BUILD.XML IN VISUALAGE FOR JAVA.....................................................12
FIGURE 10: BRISTLECONE SOFTWARE DEVELOPMENT PROCESS MODEL.........................................................13




1. Engineering Standards
The proposed engineering standards and toolset for the BCOOL project are as follows:

1.1 Baseline Standards
Baseline Standards w/ Version                      Development PC                        Dev/Staging Servers                    Demo Servers                          Demo Client


1.1.1 Basic “Image”
Operating System v4.0SP6/2000                      NT2000 Pro                            NT2k Server                            NT2k Server                           Win95/98/2k
Browsers (HTML4.0 compliant)                       IE 5.xx                               IE5, IE5.5                             IE5.5                                 IE5.5
Web Server (HTTP1.1 complaint)                     MS Personal Web Server                IIS Server                             IIS                                   NONE
Database (SQL-92/3.0 compliant)                    Connect to database server            SQL Server 7.0                         SQL Server 7.0                        NONE
B2B XML Server (XML 1.0 based)                     NONE                                  BizTalk Server                         BizTalk Server                        NONE
Personalization Engine (MS DB 2.1)                 File-system                           SQL Server                             SQL Server                            NONE
Visualization Engine (2.0.3)                       InXight                               InXight                                InXight                               NONE
Optimization Engine(ILOG OPL 3.1)                  OPLCOM API                            OPLCOM API                             OPLCOM API                            NONE
Rules Engine (ILOG JRules)                         ILOG JRules                            (optional)                            (optional)                            NONE


1.1.2 Source Control + Defect/Feature Tracking on LOKI
VSS v6.0                                           SCCS API client                VSS Server                                    NONE                                  NONE
ClearQuest v2001                                   client for vss, or web version CQ Server                                     NONE                                  NONE


Confidential                                                                                Page 2 of 15                                                                    1/17/2013
Project BCOOL Standards Document

1.1.3 Java 2 Platform
Java 2 Standard Edition v1.2.2        IBM JDK 1.2.2                 IBM JDK 1.2.2              IBM JRE 1.2.2              IE w/ MSVM
Java 2 Enterprise Edition server      jBoss                         WebLogic 6.0 / IBM WAS 3.5 WebLogic 6.0 / IBM WAS 3.5 NONE


1.2 Toolset
1.2.1 Java Technology
IDE for Java 2 platform v3.5          IBM VAJ Pro/Ent               IBM VAJ Pro 3.5           NONE                       NONE
JDBC 2.0 Driver                       jdbc-odbc bridge (IBM/MS)     WebLogic / OPTA2000       WebLogic / OPTA2000        NONE
JavaServlets v2.2                     IBM VAJ Pro/Ent               WebLogic / Websphere      WebLogic / WebSphere       NONE
JavaServer Pages v1.1                 WebSphere Studio              WebLogic jspc compiler    NONE                       NONE
Scripting HTML/ASP/JavaScript etc…    ScriptBuilder / SitePad pro   ScriptBuilder             NONE                       NONE
EJB v1.1                              VAJ Websphere Test Env        WebLogic/ Websphere       WebLogic / Websphere       NONE
JavaMail (for alerts) v1.1.3          1.1.3 ref implementation      ?                         ?                          NONE
Java De-compiler tool                 DeCafe                        NONE                      NONE                       NONE


1.2.2 XML tools for Java
XML parser for Java (v1.1.2)          Xerces/XML4J                  Xerces/XML4J              Xerces                     Aelfred
XML-Schema v4/7/2000                  XML Spy 3.5                   XML Spy 3.5               NONE                       NONE
XML v1.0 editor                       XML Spy 3.5                   XML Spy 3.5               NONE                       NONE
XML DTD editor (v 12/17/1999)         XML Spy 3.5                   XML Spy 3.5               NONE                       NONE
XSL v1.0 editor                       XML Spy 3.5                   XML Spy 3.5               NONE                       NONE
XSLT v1.0 editor                      XML Spy 3.5                   XML Spy 3.5               NONE                       NONE
WML v1.0 editor                       ScriptBuilder                 ScriptBuilder             NONE                       NONE
Xpath v1.0 for Java (v0.20.0)         Xalan XSLT Processor          Xalan XSLT Processor      Xalan XSLT Processor       NONE
XSLT Processor for Java (v0.20.0)     Xalan XSLT Processor          Xalan XSLT Processor      Xalan XSLT Processor       NONE


1.2.3 OOAD/Schema Design
UML/OOD (UML 1.3)                     Rose/Ent 2001/Visio Ent       NONE                      NONE                       NONE
ER Modeling (UML data modeling ext)   Rose/Ent 2001/Visio Ent       NONE                      NONE                       NONE


1.2.4 Microsoft Java
Micorsoft Java SDK v4.0               MS Java SDK (NOT VJ++)        NONE                      NONE                       NONE


1.2.5 Life Cycle tools (for each iteration)
Build tool                            Ant                           Ant                       NONE                       NONE
EJB Deployment tool                   Ant / Bean-test               Ant / Bean-test           NONE                       NONE
Installation software                 InstallAnywhere               InstallAnywhere           NONE                       NONE
Demo software                         DemoShield / Toolbook         NONE                      NONE                       DemoShield
HTML Documentation tool               Frontpage w/ CSS styles       NONE                      NONE                       NONE




Confidential                                                         Page 3 of 15                                            1/17/2013
Project BCOOL Standards Document


1.3 Coding Standards
The “WIKI” web is the best programming practices reference: http://www.c2.com/cgi/wiki?
ExtremeProgrammingRoadmap

1.3.1 Java Coding Standard
The coding standards that we should use are described in the pocketbook “the elements of Java Style” by Scott Ambler
and Rougewave developers. These are based on the Sun Code Conventions
(http://java.sun.com/docs/codeconv/).

1.3.2 Java Source Code Beautifier
Use JIndent with the Sun-Style.jin configuration
http://home.wtal.de/software-solutions/jindent/frameset.html

1.3.3 C++ Coding Standard
C++ code should be gcc 2.95.2 compilable.
        C++ coding rules from Ellemtel
        http://www.cs.umd.edu/users/cml/cstyle/Ellemtel-rules.pdf
Also available in “Industrial Strength C++: Rules and Recommendations” by Mats Henricson and Erik Nyquist, a book
recommended on the “WIKI” web: http://www.c2.com/cgi/wiki?IndustrialStrengthCplusPlus
See Also books like:
        “Effective C++” book/CD by Scott Myers.
        “Large-Scale C++ Software Design” by John Lakos

1.4 QA & Testing Standards
1.4.1 Unit Testing Standards
XP framework for unit testing:

1.4.1.1 Junit 3.2
JavaUnit link from the “WIKI” web:
       http://www.c2.com/cgi/wiki?JavaUnit
JunitCreator for VAJ from “BigBenTools” link on the “WIKI” web:
       http://www.xpdeveloper.com/cgi-bin/wiki.cgi?BigBenTools

1.4.1.2 CPPunit 1.5
http://www.c2.com/cgi/wiki?CppUnit

1.4.2 Use Case (Scenario) Testing Standards
Rational QualityArchitect, an addin for Rational Rose Enterprise, should be used for scenario based test of J2EE and
COM components.

1.4.3 Load Testing & Performance Testing Standards
We can use Microsoft Web Stress Testing tool for now.
Tool such as Empirix Bean-Test or Rational PerformanceArchitect may be required in future.

1.4.4 Regression Testing Standards
Rational TestStudio or similar regression testing tool may be required in future.




Confidential                                                Page 4 of 15                                     1/17/2013
Project BCOOL Standards Document



1.5 Version Control
Visual SourceSafe clients should be used from development PCs. VSS server will be running on the LOKI server.
Typical VSS options- checking in a file in respective java package, checking it out for write access, canceling a checkout
in case the build broke or your code regressed, and getting latest for readonly access.
Three types of Visual SourceSafe databases should be used:

1.5.1 UmlModel- Model database
The “UmlModel” is the database version controlled for the entire architectural baseline- use case models, system
functions w/ algorithms, UML diagrams (domain object models, sequence diagram. class designs, state machines etc),
and the data model (schema design).

1.5.2 Codebase- Code database
The “Codebase” is the database version controlled for the entire codebase, pluggable into Java IDE and modeling tool.
The schema “file” will be stored in the codebase. (Note that the schema “design”-diagram- should be stored in the
UmlModel database.) Even the Java Archieve files – JARs, WARs and EARs, XML meta-info, EJB descriptors – are
stored here. JavaDoc files also are generated from within the codebase. It should conform to the JavaDoc standards, for
API documentation in the least. Patch release is used whenever branching is made.
J2EE comes with an enterprise application, eStore. The codebase should be structurally baselined on the eStore
package structures, to begin with. The entire BCOOL hierarchy of java packages should look like combination of these:




           Figure 1: The BCOOL hierarchy of java packages should look like combination of these two.

1.5.3 Docs- Document database
The “Docs” is the database version controlled for the entire documentation- Word/html documents, and so on. Refer to
the “BristleCone Technical Notes Process”, technotes.doc for further details. The HTML documentation created can also
be used in the RUP style sophisticated project website, by inserting “css-“stylish html docs into javadoc style comments.


Confidential                                               Page 5 of 15                                        1/17/2013
Project BCOOL Standards Document


1.6 Using IBM VisualAge for Java
1.6.1 VAJ with EJB/JSP support
Refer to IBM’s website for the ”VisualAge for Java and WebSphere Studio Tutorials” series, e.g.
http://www7.software.ibm.com/vad.nsf/data/document3936

1.6.2 VAJ with SAP R/3 support
The screenshots for Advanced generation of Java proxies using the “AccessBuilder for SAP R/3” in VAJ3.5 are given
below. The AdvancedGenerationDlg option in the AccessBuilder.ini file has to be set to 'true' for it to be enabled, default
is false. Setting it to true brings up the screen in AccessBuilder as shown below:




                                     Figure 2: SAP R/3 support in VAJ Enterprise




Confidential                                                Page 6 of 15                                         1/17/2013
Project BCOOL Standards Document




1.6.3 VAJ with VSS
1.6.3.1 Connecting VAJ with VSS “codebase”
To point to the VSS “codebase” database, you will have to first install VSS client on your machine and then you need to
point to the “//loki/vss/codebase/sourcesafe.ini” file, vss is the share on the //loki server.




                                  Figure 3: Connecting VAJ with VSS “codebase”
When you define your “connection” to the VSS “codebase” database, with the “$ProductName/src” VSS project; you
have to set to the “src” subdir of your working folder on your hard disk.




                             Figure 4: Defining/changing the VSS connection from VAJ

Confidential                                              Page 7 of 15                                       1/17/2013
Project BCOOL Standards Document
1.6.3.2 Adding class “files” from VAJ to VSS “codebase”
You need to add to “codebase” the class “files” you created newly in VAJ as follows:




                                     Figure 5: Adding VAJ files to VSS "codebase"

1.6.3.3 Other VSS options
These options work from within VAJ, just as they do for any other tool such as Rational Rose. But what if you do NOT
use VAJ repository? If you use a file editor instead, then you must add your file to the VSS codebase “packages”,
appropriately. VAJ developers then can either “get” or “checkout” that file, if needed.

1.7 Labeling the Build from command-line into VSS “codebase”
The VSS "codebase" should have all files checked in for the build. The build process should begin with an email
notification of the "check-in within 15 minutes" kind. After the VSS “get latest” codebase, the build process should end
up in a (hopefully unbroken) successful build. Start labeling the build with the build date, e.g. 20000731-1 for a build #1,
dated 07/31/2000. Most "Rational" builds follow this type of convention. For each build, the labeling should be done by
the build master against the VSS “project” $/bcoolBuild/src. We will use the ant build tool to do the command line label
operations with VSS at the end of the successful “build”. We will also explore if we can use the ant build tool to do
deployment for Bea Weblogic server. Please refer to the updated documentation on the build process from VSS “docs”.
The buildmaster sends an email to development@bcone.com re. the structure of bcool build document whenever it is
updated. That will reinforce the classpath across the dev/qa boxes for the bcool team.


Confidential                                                 Page 8 of 15                                         1/17/2013
Project BCOOL Standards Document

1.8 Proposed Build configuration infrastructure: hardware & software




   DEVELOPMENT                 STAGING SERVER             DEMO I (SERVER)               DEMO II (Mirror)
   SERVER                      Win2k Server (MSDN)        Win2k Server (MSDN)           Win2k Server (MSDN)
   Win2k Server (MSDN)         WebLogic                   WebLogic                      WebLogic
   WebLogic                    SQL Server (MSDN)          R/3 w/ SQL Server             R/3 w/ SQL Server
   SQL Server (MSDN)           Dashboard (MSDN)           (SAP Customer copy)           (SAP customer copy)
   Dashboard (MSDN)            ILOG COM API               Dashboard (MSDN)              Dashboard (MSDN)
   ILOG COM API                Bcool build                ILOG (node-locked)            ILOG (node-locked)
   Bcool build                                            Bcool build                   Bcool build




                            DATABASE SERVER
R/3 SERVER                  NT 4.0 Server (MSDN)            BW SERVER                    APO SERVER
NT 4.0 Server (MSDN)        SQL Server (MSDN)               NT 4.0 Server (MSDN)         NT 4.0 Server (MSDN)
R/3 w/ Oracle               ClearQuest and Rose             BW 2.0B w/ Oracle            APO 2.0B w/ Oracle
(SAP Production copy)       (floating license server)       (SAP Production copy)        (SAP Production copy)
                            SourceSafe Server
                            File server
                            ILOG (floating server)

                              Figure 6: Proposed Build configuration infrastructures

1.8.1 Nightly Build on Build Machine
We run the ant build.xml based builds to develop the web/ejb/eis tiers on development build machine.
The build should be scheduled to start exactly at 2 AM every night.

1.8.2 Nightly Deployment on Development Server (Stage I)
We should ideally not do builds on development servers, since other developers might be testing their JSPs against the
servlets and EJBs deployed the previous night. We run the ant deploy.xml script to deploy the WAR, the EJB-JAR and
the EAR files (wherever applicable) on the development server.
The deployment script should be scheduled to start exactly at 2 AM every night.

1.8.3 Weekly Deployment on Staging Server (Stage II)
We should ideally not do builds on staging servers. We run the ant deploy.xml script to deploy the WAR, the EJB-JAR
and the EAR files (wherever applicable) on the staging server.
The deployment script should be scheduled to start exactly at 2 AM every Friday.




Confidential                                              Page 9 of 15                                      1/17/2013
Project BCOOL Standards Document

1.8.4 Milestone Deployment on Demo/Mirror Servers (Stage III)
We should never do builds on demo/production servers. We run the ant deploy.xml script to deploy the WAR, the EJB-
JAR and the EAR files (wherever applicable) on the demo/production boxes. The deployment script should be
scheduled to start exactly at 2 AM every milestone-end.
We also update the database server and the R/3 server with the latest test data.

1.8.5 Making the build on Development Servers
1.8.5.1 Bill of Materials(BOM) for builds
Refer to the build document, “Structure of Bcool Build” for Bcool build structure & the build process.

1.8.5.2 Making the Build using Ant command-line
Assuming you have Ant installed, to execute this build, change to the directory where you've done a VSS “get” on the file
“build.xml” and from a command line enter ant. You should see the output shown below.




                          Figure 7: The results of running Ant build tool from command-line
Admittedly, it's not too useful so far, but it does show you the basic structure of a build.xml file. The Ant documentation
explains the options and tasks available, and Ant provides its own build file that you can model your builds on.


Confidential                                                Page 10 of 15                                         1/17/2013
Project BCOOL Standards Document
1.8.5.3 Making the Build using Ant in VisualAge for Java
While Ant is most often used as a command-line tool for automated nightly builds, the command line is not the easiest
place to debug problems with your build or create custom tasks. It's easier to integrate Ant into VisualAge for Java to
create and debug custom tasks.

1.8.5.3.1        Importing Ant into VisualAge for Java
The most effective way to import Ant into VisualAge for Java is to import the source code. It's easier to debug your
custom tasks when you can step through all the code and see what's happening. Ant uses a Java API for XML Parsing
(JAXP) compliant XML parser to read the build.xml files. The binary release of Ant includes Sun's jaxp.jar and parser.jar
files, the reference implementation of JAXP. You can get the JAXP parser from Sun.

To import Ant into VisualAge for Java:
       Extract the source code from jakarta-ant.tar.gz into the /tmp directory.
       Import from the directory /tmp/jakarta-ant/src into a new project named Ant.
       Import the .jar files /tmp/jakarta-ant/lib/jaxp.jar and /tmp/jakarta-ant/lib/parser.jar into a project named JAXP.
       Select the class org.apache.tools.ant.Main in the Ant project, and select Properties from the Selected menu.
       Select the Classpath tab, and select Edit beside the Project Path field.
       Select JAXP, then OK twice.
       Select IBM XML Parser for Java, then OK twice.
       Version the Ant project to 1.1, IBM XML Parser for Java to 1.0, and the JAXP project to 1.0.

Once you are done, set the ant.Main properties in your Workbench as shown below:




                 Figure 8: Setting ant.Main properties after importing and versioning Ant and JAXP



Confidential                                                Page 11 of 15                                         1/17/2013
Project BCOOL Standards Document
1.8.5.4 Running & Debugging the build from within VisualAge for Java
The simplest way to run a build from within VisualAge for Java is to execute the main method of the
org.apache.tools.ant.Main class, passing in any parameters on the command line. When you run Ant without any options,
it looks for a build.xml file in its current directory. Due to the way VisualAge for Java starts an application, that current
directory will always be ~/vaj/ide/project_resources/Ant, where ~/vaj is the directory where you installed VisualAge for
Java. So to run your build, you can either import build.xml with the Import dialog into your project resources directory, or
you can use the -buildfile command-line option, which lets you specify which build file to use.

Running the main method of the org.apache.tools.ant.Main class produces the output as shown below:




                           Figure 9: The results of running build.xml in VisualAge for Java




Confidential                                                Page 12 of 15                                          1/17/2013
Project BCOOL Standards Document


1.9 Deploying the BCOOL application from the build machine
Refer to “Structure of Bcool Deployment” document for details on Bcool deployment structure & deployment process.
Also refer to the “Bristlecone Software Development Process Model” shown below, Implementation, test and deployment process workflows:


                                                                                          Bristlecone Software Process Model

                           Product Management                  Engineering                        Engineering                      Engineering                        Engineering                     Product Management
                                 Roll In                                                                                                                                                                    Roll Out

                                Business                                                            Analysis &
Process Workflow:                                             Requirements                                                        Implementation                            Test                           Deployment
                                Modeling                                                             Design




                                Business                         Systems                             Software               Tech Leads & DBA with                       QA & Test                            Release
Roles responsible:
                                Analyst(s)                       Analyst(s)                         Architect(s)                 Build Master                            Lead(s)                             Manager




                                Business                      Scope-level                        Analysis Model                    Build-level                         Scope-level                          Build-level
Responsibilities:
                              Domain Model                  Use-Case Model                       & design Model               Implementation Model                      Test Plans                         Deployments




Output artifacts:
                        Business requirements doc
                                                               Use-case Models                     Analysis models          Component Design Diagrams            System test plan execution             "Bcool" Bill of Materials
                        Scope-level block diagrams
                                                               Use-case specs                       Design models             Structure of "Bcool" Build       Defect/feature tracking database             Deployment Plan
                       Business Process flowcharts
                                                          Scope-level seq diagrams            Object-level seq diagrams     Html API/Javadoc & technotes       Use-case based system testing         Installation & Release Notes
                          Requirement Attributes
                                                         UI-level activity/state charts       UI-level Proofs of Concept    Scope-level build w/ junit tests     regression test dev & exec                   User Manual
                             SAP Mappings
                                                           Scope-level Data model              Design-level Data model      Implementation-level Schema        Test data creation & replication             On-line Help files
                             Business Rules
                                                             Domain object model            Model of Systems Architecture    Ant-based build development         Ant-based build deployment           Manual/Auto Demo scripts
                                Glossary




Resource Infrastructure:        Laptop                        Desktop                                Desktop                     Build Machine                    Stage I (Dev) Server            Stage II (Staging) Server
                                  with                           with                                   with
                           Word, Excel & Visio              Rose and Visio                         Rose and Visio



                                                     Figure 10: Bristlecone Software Development Process Model



1.10 What if the Build is “broken”?
Penalty ;-) Penalize the developer responsible for breaking the build!
Even if the unit tests were successful, it does not mean that the build can be integrated from these.


1.11 Installation Process for demos
1.11.1                       InstallAnywhere Standard Edition API
Reference website http://www.zerog.com

1.12 Testing the build for demos
Refer to the test plan documentation, created by test lead, Vijay Aliseti.




Confidential                                                                                                   Page 13 of 15                                                                                          1/17/2013
Project BCOOL Standards Document


2 Reference websites
We need to expand this list for all items listed in the topics “Engineering Standards”, “Coding Standards”, and “Bill of
materials for the build machine”:
   • The Apache XML project
        http://xml.apache.org/index.html
    •   UNIX toolset for Windows
        http://sourceware.cygnus.com/cygwin/

2.1 Issues
    •   The JSP developer’s JSP tag library can call the EJB developer’s session bean, which may call the entity
        beans or directly execute the SQL statements (using JDBC) on the build machine running SQL server.
    •   The repository of IBM VisualAge for Java connects using the SCCS API to the VSS version control “codebase”
        database on the build machine.
    •   The JDBC RowSet 1.0 spec (part of JDBC 2.0 Optional package API) should be used for client-side caching.
        This concept is similar to Microsoft COM+ concept of disconnected recordsets.
    •   When does Rational Rose “synchronize” code with VSS codebase? The “code freeze” time looks good for this,
        after the build is installed and tested on the build machine, with no major regressions.
    •   Test planning documentation pending until Vijay Aliseti begins working on it.
    •   The command line scripts need to be developed- for labeling the VSS codebase, incremental builds, and to do
        the master build.
    •   Defect/Feature tracking process and tool TBD.




Confidential                                                Page 14 of 15                                        1/17/2013
Project BCOOL Standards Document




                                                Epilogue
                                               Eat own dog food.
    Courtesy: “Show-Stopper!: The Breakneck Race to Create Windows NT and the Next Generation at Microsoft”
                                   By G. Pascal Zachary. Hardcover (October 1994)




Confidential                                         Page 15 of 15                                    1/17/2013
Project BCOOL Standards Document




                                                Epilogue
                                               Eat own dog food.
    Courtesy: “Show-Stopper!: The Breakneck Race to Create Windows NT and the Next Generation at Microsoft”
                                   By G. Pascal Zachary. Hardcover (October 1994)




Confidential                                         Page 15 of 15                                    1/17/2013

More Related Content

What's hot

Overview of Java EE 6 by Roberto Chinnici at SFJUG
Overview of Java EE 6 by Roberto Chinnici at SFJUGOverview of Java EE 6 by Roberto Chinnici at SFJUG
Overview of Java EE 6 by Roberto Chinnici at SFJUGMarakana Inc.
 
Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010Codecamp Romania
 
Sun Java EE 6 Overview
Sun Java EE 6 OverviewSun Java EE 6 Overview
Sun Java EE 6 Overviewsbobde
 
Java & J2EE Struts with Hibernate Framework
Java & J2EE Struts with Hibernate FrameworkJava & J2EE Struts with Hibernate Framework
Java & J2EE Struts with Hibernate FrameworkMohit Belwal
 
Project Presentation on Advance Java
Project Presentation on Advance JavaProject Presentation on Advance Java
Project Presentation on Advance JavaVikas Goyal
 
Java 7 Modularity: a View from the Gallery
Java 7 Modularity: a View from the GalleryJava 7 Modularity: a View from the Gallery
Java 7 Modularity: a View from the Gallerynjbartlett
 
The State of Java under Oracle at JCertif 2011
The State of Java under Oracle at JCertif 2011The State of Java under Oracle at JCertif 2011
The State of Java under Oracle at JCertif 2011Arun Gupta
 
Java EE 6 workshop at Dallas Tech Fest 2011
Java EE 6 workshop at Dallas Tech Fest 2011Java EE 6 workshop at Dallas Tech Fest 2011
Java EE 6 workshop at Dallas Tech Fest 2011Arun Gupta
 
Hinkmond's JavaFX Mobile Dojo
Hinkmond's JavaFX Mobile DojoHinkmond's JavaFX Mobile Dojo
Hinkmond's JavaFX Mobile DojoStephen Chin
 
Java EE 6 Component Model Explained
Java EE 6 Component Model Explained Java EE 6 Component Model Explained
Java EE 6 Component Model Explained Shreedhar Ganapathy
 
Java EE 6 & GlassFish 3
Java EE 6 & GlassFish 3Java EE 6 & GlassFish 3
Java EE 6 & GlassFish 3Arun Gupta
 
Using Play Framework 2 in production
Using Play Framework 2 in productionUsing Play Framework 2 in production
Using Play Framework 2 in productionChristian Papauschek
 
JavaFX Enterprise (JavaOne 2014)
JavaFX Enterprise (JavaOne 2014)JavaFX Enterprise (JavaOne 2014)
JavaFX Enterprise (JavaOne 2014)Hendrik Ebbers
 
Future of Java EE with Java SE 8
Future of Java EE with Java SE 8Future of Java EE with Java SE 8
Future of Java EE with Java SE 8Hirofumi Iwasaki
 

What's hot (20)

GlassFish v3 at JavaZone 09
GlassFish v3 at JavaZone 09GlassFish v3 at JavaZone 09
GlassFish v3 at JavaZone 09
 
Overview of Java EE 6 by Roberto Chinnici at SFJUG
Overview of Java EE 6 by Roberto Chinnici at SFJUGOverview of Java EE 6 by Roberto Chinnici at SFJUG
Overview of Java EE 6 by Roberto Chinnici at SFJUG
 
Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010
 
Sun Java EE 6 Overview
Sun Java EE 6 OverviewSun Java EE 6 Overview
Sun Java EE 6 Overview
 
Java & J2EE Struts with Hibernate Framework
Java & J2EE Struts with Hibernate FrameworkJava & J2EE Struts with Hibernate Framework
Java & J2EE Struts with Hibernate Framework
 
Project Presentation on Advance Java
Project Presentation on Advance JavaProject Presentation on Advance Java
Project Presentation on Advance Java
 
Java 7 Modularity: a View from the Gallery
Java 7 Modularity: a View from the GalleryJava 7 Modularity: a View from the Gallery
Java 7 Modularity: a View from the Gallery
 
Java 7 workshop
Java 7 workshopJava 7 workshop
Java 7 workshop
 
Java and XPages
Java and XPagesJava and XPages
Java and XPages
 
The State of Java under Oracle at JCertif 2011
The State of Java under Oracle at JCertif 2011The State of Java under Oracle at JCertif 2011
The State of Java under Oracle at JCertif 2011
 
Java EE 6 workshop at Dallas Tech Fest 2011
Java EE 6 workshop at Dallas Tech Fest 2011Java EE 6 workshop at Dallas Tech Fest 2011
Java EE 6 workshop at Dallas Tech Fest 2011
 
Hinkmond's JavaFX Mobile Dojo
Hinkmond's JavaFX Mobile DojoHinkmond's JavaFX Mobile Dojo
Hinkmond's JavaFX Mobile Dojo
 
Java EE 6 Component Model Explained
Java EE 6 Component Model Explained Java EE 6 Component Model Explained
Java EE 6 Component Model Explained
 
Java 9 preview
Java 9 previewJava 9 preview
Java 9 preview
 
Java EE 6 & GlassFish 3
Java EE 6 & GlassFish 3Java EE 6 & GlassFish 3
Java EE 6 & GlassFish 3
 
Evolution of java
Evolution of javaEvolution of java
Evolution of java
 
Using Play Framework 2 in production
Using Play Framework 2 in productionUsing Play Framework 2 in production
Using Play Framework 2 in production
 
JavaFX Enterprise (JavaOne 2014)
JavaFX Enterprise (JavaOne 2014)JavaFX Enterprise (JavaOne 2014)
JavaFX Enterprise (JavaOne 2014)
 
Future of Java EE with Java SE 8
Future of Java EE with Java SE 8Future of Java EE with Java SE 8
Future of Java EE with Java SE 8
 
JSF2
JSF2JSF2
JSF2
 

Viewers also liked

Example of BDD/scenario based vertical slicing (for PM/PO community)
Example of BDD/scenario based vertical slicing (for PM/PO community)Example of BDD/scenario based vertical slicing (for PM/PO community)
Example of BDD/scenario based vertical slicing (for PM/PO community)Ravi Tadwalkar
 
Kanban metrics- histograms & total wip
Kanban metrics- histograms & total wipKanban metrics- histograms & total wip
Kanban metrics- histograms & total wipRavi Tadwalkar
 
Kanban coaching masterclass- Ravi's notes
Kanban coaching masterclass- Ravi's notesKanban coaching masterclass- Ravi's notes
Kanban coaching masterclass- Ravi's notesRavi Tadwalkar
 
Obstacle escalation process
Obstacle escalation processObstacle escalation process
Obstacle escalation processRavi Tadwalkar
 
Advanced kanban overview for waterfall & scrum practitioners (16x9 deck)
Advanced kanban overview for waterfall & scrum practitioners  (16x9 deck)Advanced kanban overview for waterfall & scrum practitioners  (16x9 deck)
Advanced kanban overview for waterfall & scrum practitioners (16x9 deck)Ravi Tadwalkar
 
Ravi Tadwalkar as SM/DevOps/management/Coach
Ravi Tadwalkar as SM/DevOps/management/CoachRavi Tadwalkar as SM/DevOps/management/Coach
Ravi Tadwalkar as SM/DevOps/management/CoachRavi Tadwalkar
 
Agile Roles & responsibilities
Agile Roles & responsibilitiesAgile Roles & responsibilities
Agile Roles & responsibilitiesRavi Tadwalkar
 

Viewers also liked (7)

Example of BDD/scenario based vertical slicing (for PM/PO community)
Example of BDD/scenario based vertical slicing (for PM/PO community)Example of BDD/scenario based vertical slicing (for PM/PO community)
Example of BDD/scenario based vertical slicing (for PM/PO community)
 
Kanban metrics- histograms & total wip
Kanban metrics- histograms & total wipKanban metrics- histograms & total wip
Kanban metrics- histograms & total wip
 
Kanban coaching masterclass- Ravi's notes
Kanban coaching masterclass- Ravi's notesKanban coaching masterclass- Ravi's notes
Kanban coaching masterclass- Ravi's notes
 
Obstacle escalation process
Obstacle escalation processObstacle escalation process
Obstacle escalation process
 
Advanced kanban overview for waterfall & scrum practitioners (16x9 deck)
Advanced kanban overview for waterfall & scrum practitioners  (16x9 deck)Advanced kanban overview for waterfall & scrum practitioners  (16x9 deck)
Advanced kanban overview for waterfall & scrum practitioners (16x9 deck)
 
Ravi Tadwalkar as SM/DevOps/management/Coach
Ravi Tadwalkar as SM/DevOps/management/CoachRavi Tadwalkar as SM/DevOps/management/Coach
Ravi Tadwalkar as SM/DevOps/management/Coach
 
Agile Roles & responsibilities
Agile Roles & responsibilitiesAgile Roles & responsibilities
Agile Roles & responsibilities
 

Similar to Project bcool standards document

Was 5.1 To 6.1
Was 5.1 To 6.1Was 5.1 To 6.1
Was 5.1 To 6.1tsmanyam
 
Was 5.1 To 6.1 Updated
Was 5.1 To 6.1 UpdatedWas 5.1 To 6.1 Updated
Was 5.1 To 6.1 Updatedtsmanyam
 
Iz Pack
Iz PackIz Pack
Iz PackInria
 
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...Jesse Gallagher
 
Java Ide Day 2008 - Presentation on JDeveloper by Paolo Ramasso
Java Ide Day 2008 - Presentation on JDeveloper by Paolo RamassoJava Ide Day 2008 - Presentation on JDeveloper by Paolo Ramasso
Java Ide Day 2008 - Presentation on JDeveloper by Paolo RamassoJUG Genova
 
Eclipse vs Netbean vs Railo
Eclipse vs Netbean vs RailoEclipse vs Netbean vs Railo
Eclipse vs Netbean vs RailoMohd Safian
 
InduSoft VBScript Webinar
 InduSoft VBScript Webinar InduSoft VBScript Webinar
InduSoft VBScript WebinarAVEVA
 
Introduction to OSGi (Tokyo JUG)
Introduction to OSGi (Tokyo JUG)Introduction to OSGi (Tokyo JUG)
Introduction to OSGi (Tokyo JUG)njbartlett
 
Introduction to-release-11i-part-1-of-2-installation3771
Introduction to-release-11i-part-1-of-2-installation3771Introduction to-release-11i-part-1-of-2-installation3771
Introduction to-release-11i-part-1-of-2-installation3771Mlx Le
 
Best of Microsoft Dev Camp 2015
Best of Microsoft Dev Camp 2015Best of Microsoft Dev Camp 2015
Best of Microsoft Dev Camp 2015Bluegrass Digital
 
Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010Arun Gupta
 
Java EE 6 & GlassFish = Less Code + More Power at CEJUG
Java EE 6 & GlassFish = Less Code + More Power at CEJUGJava EE 6 & GlassFish = Less Code + More Power at CEJUG
Java EE 6 & GlassFish = Less Code + More Power at CEJUGArun Gupta
 
SHARE 2014, Pittsburgh CICS and Liberty applications
SHARE 2014, Pittsburgh CICS and Liberty applicationsSHARE 2014, Pittsburgh CICS and Liberty applications
SHARE 2014, Pittsburgh CICS and Liberty applicationsnick_garrod
 
SHARE 2014, Pittsburgh CICS and Liberty applications
SHARE 2014, Pittsburgh CICS and Liberty applicationsSHARE 2014, Pittsburgh CICS and Liberty applications
SHARE 2014, Pittsburgh CICS and Liberty applicationsnick_garrod
 
Os Henrikson
Os HenriksonOs Henrikson
Os Henriksonoscon2007
 
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnitionJava EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnitionArun Gupta
 
Java EE 6 = Less Code + More Power
Java EE 6 = Less Code + More PowerJava EE 6 = Less Code + More Power
Java EE 6 = Less Code + More PowerArun Gupta
 

Similar to Project bcool standards document (20)

Was 5.1 To 6.1
Was 5.1 To 6.1Was 5.1 To 6.1
Was 5.1 To 6.1
 
Was 5.1 To 6.1 Updated
Was 5.1 To 6.1 UpdatedWas 5.1 To 6.1 Updated
Was 5.1 To 6.1 Updated
 
Iz Pack
Iz PackIz Pack
Iz Pack
 
Dot Net Core
Dot Net CoreDot Net Core
Dot Net Core
 
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
 
Ow
OwOw
Ow
 
Java Ide Day 2008 - Presentation on JDeveloper by Paolo Ramasso
Java Ide Day 2008 - Presentation on JDeveloper by Paolo RamassoJava Ide Day 2008 - Presentation on JDeveloper by Paolo Ramasso
Java Ide Day 2008 - Presentation on JDeveloper by Paolo Ramasso
 
Eclipse vs Netbean vs Railo
Eclipse vs Netbean vs RailoEclipse vs Netbean vs Railo
Eclipse vs Netbean vs Railo
 
InduSoft VBScript Webinar
 InduSoft VBScript Webinar InduSoft VBScript Webinar
InduSoft VBScript Webinar
 
Introduction to OSGi (Tokyo JUG)
Introduction to OSGi (Tokyo JUG)Introduction to OSGi (Tokyo JUG)
Introduction to OSGi (Tokyo JUG)
 
Introduction to-release-11i-part-1-of-2-installation3771
Introduction to-release-11i-part-1-of-2-installation3771Introduction to-release-11i-part-1-of-2-installation3771
Introduction to-release-11i-part-1-of-2-installation3771
 
Best of Microsoft Dev Camp 2015
Best of Microsoft Dev Camp 2015Best of Microsoft Dev Camp 2015
Best of Microsoft Dev Camp 2015
 
Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010
 
Java EE 6 & GlassFish = Less Code + More Power at CEJUG
Java EE 6 & GlassFish = Less Code + More Power at CEJUGJava EE 6 & GlassFish = Less Code + More Power at CEJUG
Java EE 6 & GlassFish = Less Code + More Power at CEJUG
 
SHARE 2014, Pittsburgh CICS and Liberty applications
SHARE 2014, Pittsburgh CICS and Liberty applicationsSHARE 2014, Pittsburgh CICS and Liberty applications
SHARE 2014, Pittsburgh CICS and Liberty applications
 
SHARE 2014, Pittsburgh CICS and Liberty applications
SHARE 2014, Pittsburgh CICS and Liberty applicationsSHARE 2014, Pittsburgh CICS and Liberty applications
SHARE 2014, Pittsburgh CICS and Liberty applications
 
Os Henrikson
Os HenriksonOs Henrikson
Os Henrikson
 
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnitionJava EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnition
 
Java EE 6 = Less Code + More Power
Java EE 6 = Less Code + More PowerJava EE 6 = Less Code + More Power
Java EE 6 = Less Code + More Power
 
Vs2005p
Vs2005pVs2005p
Vs2005p
 

More from Ravi Tadwalkar

From Scrum to ScrumBan or Kanban- Process Evaluator Workshop using Excel.pptx
From Scrum to ScrumBan or Kanban- Process Evaluator Workshop using Excel.pptxFrom Scrum to ScrumBan or Kanban- Process Evaluator Workshop using Excel.pptx
From Scrum to ScrumBan or Kanban- Process Evaluator Workshop using Excel.pptxRavi Tadwalkar
 
Kin2020- flow based product development- an experience report
Kin2020-  flow based product development- an experience reportKin2020-  flow based product development- an experience report
Kin2020- flow based product development- an experience reportRavi Tadwalkar
 
Session 0 role of leadership in agile v18
Session 0 role of leadership in agile v18Session 0 role of leadership in agile v18
Session 0 role of leadership in agile v18Ravi Tadwalkar
 
Agile for scrum team members v4
Agile for scrum team members v4Agile for scrum team members v4
Agile for scrum team members v4Ravi Tadwalkar
 
Agile for scrum masters v7
Agile for scrum masters v7Agile for scrum masters v7
Agile for scrum masters v7Ravi Tadwalkar
 
Agile for product owners v12
Agile for product owners  v12Agile for product owners  v12
Agile for product owners v12Ravi Tadwalkar
 
Introduction to agile lean
Introduction to agile  leanIntroduction to agile  lean
Introduction to agile leanRavi Tadwalkar
 
Exec Leadership workshop
Exec Leadership workshopExec Leadership workshop
Exec Leadership workshopRavi Tadwalkar
 
LKIN2019: Lean transformation journey of infra briefing for business agility...
LKIN2019: Lean transformation journey of infra  briefing for business agility...LKIN2019: Lean transformation journey of infra  briefing for business agility...
LKIN2019: Lean transformation journey of infra briefing for business agility...Ravi Tadwalkar
 
Modern agile & ESP proposal for Transformation
Modern agile & ESP proposal for TransformationModern agile & ESP proposal for Transformation
Modern agile & ESP proposal for TransformationRavi Tadwalkar
 
LKIN2018: leveraging Lean and Kanban to implement continuous improvement
LKIN2018: leveraging Lean and Kanban to implement continuous improvementLKIN2018: leveraging Lean and Kanban to implement continuous improvement
LKIN2018: leveraging Lean and Kanban to implement continuous improvementRavi Tadwalkar
 
Distributed agile- exec level briefing
Distributed agile- exec level briefingDistributed agile- exec level briefing
Distributed agile- exec level briefingRavi Tadwalkar
 
DevOps- exec level briefing
DevOps-  exec level briefingDevOps-  exec level briefing
DevOps- exec level briefingRavi Tadwalkar
 
Lean, agile and dev ops games- facilitator's guide
Lean, agile and dev ops games- facilitator's guideLean, agile and dev ops games- facilitator's guide
Lean, agile and dev ops games- facilitator's guideRavi Tadwalkar
 
Pecha kucha format- how can devops be implemented with lean and agile
Pecha kucha format- how can devops be implemented with lean and agilePecha kucha format- how can devops be implemented with lean and agile
Pecha kucha format- how can devops be implemented with lean and agileRavi Tadwalkar
 
Embrace TQM (Total Quality Mgmt) mindset with lean thinking
Embrace TQM (Total Quality Mgmt) mindset with lean thinkingEmbrace TQM (Total Quality Mgmt) mindset with lean thinking
Embrace TQM (Total Quality Mgmt) mindset with lean thinkingRavi Tadwalkar
 
DevOps Approach (Point of View by Ravi Tadwalkar)
DevOps Approach (Point of View by Ravi Tadwalkar)DevOps Approach (Point of View by Ravi Tadwalkar)
DevOps Approach (Point of View by Ravi Tadwalkar)Ravi Tadwalkar
 
Team agility assessment
Team agility assessmentTeam agility assessment
Team agility assessmentRavi Tadwalkar
 
Agile leadership assessment
Agile leadership assessmentAgile leadership assessment
Agile leadership assessmentRavi Tadwalkar
 
Lean kanban team assessment
Lean kanban team assessmentLean kanban team assessment
Lean kanban team assessmentRavi Tadwalkar
 

More from Ravi Tadwalkar (20)

From Scrum to ScrumBan or Kanban- Process Evaluator Workshop using Excel.pptx
From Scrum to ScrumBan or Kanban- Process Evaluator Workshop using Excel.pptxFrom Scrum to ScrumBan or Kanban- Process Evaluator Workshop using Excel.pptx
From Scrum to ScrumBan or Kanban- Process Evaluator Workshop using Excel.pptx
 
Kin2020- flow based product development- an experience report
Kin2020-  flow based product development- an experience reportKin2020-  flow based product development- an experience report
Kin2020- flow based product development- an experience report
 
Session 0 role of leadership in agile v18
Session 0 role of leadership in agile v18Session 0 role of leadership in agile v18
Session 0 role of leadership in agile v18
 
Agile for scrum team members v4
Agile for scrum team members v4Agile for scrum team members v4
Agile for scrum team members v4
 
Agile for scrum masters v7
Agile for scrum masters v7Agile for scrum masters v7
Agile for scrum masters v7
 
Agile for product owners v12
Agile for product owners  v12Agile for product owners  v12
Agile for product owners v12
 
Introduction to agile lean
Introduction to agile  leanIntroduction to agile  lean
Introduction to agile lean
 
Exec Leadership workshop
Exec Leadership workshopExec Leadership workshop
Exec Leadership workshop
 
LKIN2019: Lean transformation journey of infra briefing for business agility...
LKIN2019: Lean transformation journey of infra  briefing for business agility...LKIN2019: Lean transformation journey of infra  briefing for business agility...
LKIN2019: Lean transformation journey of infra briefing for business agility...
 
Modern agile & ESP proposal for Transformation
Modern agile & ESP proposal for TransformationModern agile & ESP proposal for Transformation
Modern agile & ESP proposal for Transformation
 
LKIN2018: leveraging Lean and Kanban to implement continuous improvement
LKIN2018: leveraging Lean and Kanban to implement continuous improvementLKIN2018: leveraging Lean and Kanban to implement continuous improvement
LKIN2018: leveraging Lean and Kanban to implement continuous improvement
 
Distributed agile- exec level briefing
Distributed agile- exec level briefingDistributed agile- exec level briefing
Distributed agile- exec level briefing
 
DevOps- exec level briefing
DevOps-  exec level briefingDevOps-  exec level briefing
DevOps- exec level briefing
 
Lean, agile and dev ops games- facilitator's guide
Lean, agile and dev ops games- facilitator's guideLean, agile and dev ops games- facilitator's guide
Lean, agile and dev ops games- facilitator's guide
 
Pecha kucha format- how can devops be implemented with lean and agile
Pecha kucha format- how can devops be implemented with lean and agilePecha kucha format- how can devops be implemented with lean and agile
Pecha kucha format- how can devops be implemented with lean and agile
 
Embrace TQM (Total Quality Mgmt) mindset with lean thinking
Embrace TQM (Total Quality Mgmt) mindset with lean thinkingEmbrace TQM (Total Quality Mgmt) mindset with lean thinking
Embrace TQM (Total Quality Mgmt) mindset with lean thinking
 
DevOps Approach (Point of View by Ravi Tadwalkar)
DevOps Approach (Point of View by Ravi Tadwalkar)DevOps Approach (Point of View by Ravi Tadwalkar)
DevOps Approach (Point of View by Ravi Tadwalkar)
 
Team agility assessment
Team agility assessmentTeam agility assessment
Team agility assessment
 
Agile leadership assessment
Agile leadership assessmentAgile leadership assessment
Agile leadership assessment
 
Lean kanban team assessment
Lean kanban team assessmentLean kanban team assessment
Lean kanban team assessment
 

Recently uploaded

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 

Recently uploaded (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

Project bcool standards document

  • 1. Project BCOOL Standards Document Project BCOOL Standards Document DoTheSimplestThingThatCouldPossiblyWork Confidential Page 1 of 15 1/17/2013
  • 2. Project BCOOL Standards Document Table of Contents PROJECT BCOOL STANDARDS DOCUMENT.............................................................................................................. 1 DOTHESIMPLESTTHINGTHATCOULDPOSSIBLYWORK............................................................................................. 1 TABLE OF CONTENTS................................................................................................................................................... 2 TABLE OF FIGURES....................................................................................................................................................... 2 1. ENGINEERING STANDARDS...................................................................................................................................... 2 2 REFERENCE WEBSITES............................................................................................................................................ 14 EPILOGUE EAT OWN DOG FOOD. COURTESY: “SHOW-STOPPER!: THE BREAKNECK RACE TO CREATE WINDOWS NT AND THE NEXT GENERATION AT MICROSOFT” BY G. PASCAL ZACHARY. HARDCOVER (OCTOBER 1994)................................................................................15 Table of figures FIGURE 1: THE BCOOL HIERARCHY OF JAVA PACKAGES SHOULD LOOK LIKE COMBINATION OF THESE TWO. .......................................................................................................................................................................................... 5 FIGURE 2: SAP R/3 SUPPORT IN VAJ ENTERPRISE.................................................................................................... 6 FIGURE 3: CONNECTING VAJ WITH VSS “CODEBASE”............................................................................................... 7 FIGURE 4: DEFINING/CHANGING THE VSS CONNECTION FROM VAJ......................................................................7 FIGURE 5: ADDING VAJ FILES TO VSS "CODEBASE".................................................................................................. 8 FIGURE 6: PROPOSED BUILD CONFIGURATION INFRASTRUCTURES.....................................................................9 FIGURE 7: THE RESULTS OF RUNNING ANT BUILD TOOL FROM COMMAND-LINE...............................................10 FIGURE 8: SETTING ANT.MAIN PROPERTIES AFTER IMPORTING AND VERSIONING ANT AND JAXP................11 FIGURE 9: THE RESULTS OF RUNNING BUILD.XML IN VISUALAGE FOR JAVA.....................................................12 FIGURE 10: BRISTLECONE SOFTWARE DEVELOPMENT PROCESS MODEL.........................................................13 1. Engineering Standards The proposed engineering standards and toolset for the BCOOL project are as follows: 1.1 Baseline Standards Baseline Standards w/ Version Development PC Dev/Staging Servers Demo Servers Demo Client 1.1.1 Basic “Image” Operating System v4.0SP6/2000 NT2000 Pro NT2k Server NT2k Server Win95/98/2k Browsers (HTML4.0 compliant) IE 5.xx IE5, IE5.5 IE5.5 IE5.5 Web Server (HTTP1.1 complaint) MS Personal Web Server IIS Server IIS NONE Database (SQL-92/3.0 compliant) Connect to database server SQL Server 7.0 SQL Server 7.0 NONE B2B XML Server (XML 1.0 based) NONE BizTalk Server BizTalk Server NONE Personalization Engine (MS DB 2.1) File-system SQL Server SQL Server NONE Visualization Engine (2.0.3) InXight InXight InXight NONE Optimization Engine(ILOG OPL 3.1) OPLCOM API OPLCOM API OPLCOM API NONE Rules Engine (ILOG JRules) ILOG JRules (optional) (optional) NONE 1.1.2 Source Control + Defect/Feature Tracking on LOKI VSS v6.0 SCCS API client VSS Server NONE NONE ClearQuest v2001 client for vss, or web version CQ Server NONE NONE Confidential Page 2 of 15 1/17/2013
  • 3. Project BCOOL Standards Document 1.1.3 Java 2 Platform Java 2 Standard Edition v1.2.2 IBM JDK 1.2.2 IBM JDK 1.2.2 IBM JRE 1.2.2 IE w/ MSVM Java 2 Enterprise Edition server jBoss WebLogic 6.0 / IBM WAS 3.5 WebLogic 6.0 / IBM WAS 3.5 NONE 1.2 Toolset 1.2.1 Java Technology IDE for Java 2 platform v3.5 IBM VAJ Pro/Ent IBM VAJ Pro 3.5 NONE NONE JDBC 2.0 Driver jdbc-odbc bridge (IBM/MS) WebLogic / OPTA2000 WebLogic / OPTA2000 NONE JavaServlets v2.2 IBM VAJ Pro/Ent WebLogic / Websphere WebLogic / WebSphere NONE JavaServer Pages v1.1 WebSphere Studio WebLogic jspc compiler NONE NONE Scripting HTML/ASP/JavaScript etc… ScriptBuilder / SitePad pro ScriptBuilder NONE NONE EJB v1.1 VAJ Websphere Test Env WebLogic/ Websphere WebLogic / Websphere NONE JavaMail (for alerts) v1.1.3 1.1.3 ref implementation ? ? NONE Java De-compiler tool DeCafe NONE NONE NONE 1.2.2 XML tools for Java XML parser for Java (v1.1.2) Xerces/XML4J Xerces/XML4J Xerces Aelfred XML-Schema v4/7/2000 XML Spy 3.5 XML Spy 3.5 NONE NONE XML v1.0 editor XML Spy 3.5 XML Spy 3.5 NONE NONE XML DTD editor (v 12/17/1999) XML Spy 3.5 XML Spy 3.5 NONE NONE XSL v1.0 editor XML Spy 3.5 XML Spy 3.5 NONE NONE XSLT v1.0 editor XML Spy 3.5 XML Spy 3.5 NONE NONE WML v1.0 editor ScriptBuilder ScriptBuilder NONE NONE Xpath v1.0 for Java (v0.20.0) Xalan XSLT Processor Xalan XSLT Processor Xalan XSLT Processor NONE XSLT Processor for Java (v0.20.0) Xalan XSLT Processor Xalan XSLT Processor Xalan XSLT Processor NONE 1.2.3 OOAD/Schema Design UML/OOD (UML 1.3) Rose/Ent 2001/Visio Ent NONE NONE NONE ER Modeling (UML data modeling ext) Rose/Ent 2001/Visio Ent NONE NONE NONE 1.2.4 Microsoft Java Micorsoft Java SDK v4.0 MS Java SDK (NOT VJ++) NONE NONE NONE 1.2.5 Life Cycle tools (for each iteration) Build tool Ant Ant NONE NONE EJB Deployment tool Ant / Bean-test Ant / Bean-test NONE NONE Installation software InstallAnywhere InstallAnywhere NONE NONE Demo software DemoShield / Toolbook NONE NONE DemoShield HTML Documentation tool Frontpage w/ CSS styles NONE NONE NONE Confidential Page 3 of 15 1/17/2013
  • 4. Project BCOOL Standards Document 1.3 Coding Standards The “WIKI” web is the best programming practices reference: http://www.c2.com/cgi/wiki? ExtremeProgrammingRoadmap 1.3.1 Java Coding Standard The coding standards that we should use are described in the pocketbook “the elements of Java Style” by Scott Ambler and Rougewave developers. These are based on the Sun Code Conventions (http://java.sun.com/docs/codeconv/). 1.3.2 Java Source Code Beautifier Use JIndent with the Sun-Style.jin configuration http://home.wtal.de/software-solutions/jindent/frameset.html 1.3.3 C++ Coding Standard C++ code should be gcc 2.95.2 compilable. C++ coding rules from Ellemtel http://www.cs.umd.edu/users/cml/cstyle/Ellemtel-rules.pdf Also available in “Industrial Strength C++: Rules and Recommendations” by Mats Henricson and Erik Nyquist, a book recommended on the “WIKI” web: http://www.c2.com/cgi/wiki?IndustrialStrengthCplusPlus See Also books like: “Effective C++” book/CD by Scott Myers. “Large-Scale C++ Software Design” by John Lakos 1.4 QA & Testing Standards 1.4.1 Unit Testing Standards XP framework for unit testing: 1.4.1.1 Junit 3.2 JavaUnit link from the “WIKI” web: http://www.c2.com/cgi/wiki?JavaUnit JunitCreator for VAJ from “BigBenTools” link on the “WIKI” web: http://www.xpdeveloper.com/cgi-bin/wiki.cgi?BigBenTools 1.4.1.2 CPPunit 1.5 http://www.c2.com/cgi/wiki?CppUnit 1.4.2 Use Case (Scenario) Testing Standards Rational QualityArchitect, an addin for Rational Rose Enterprise, should be used for scenario based test of J2EE and COM components. 1.4.3 Load Testing & Performance Testing Standards We can use Microsoft Web Stress Testing tool for now. Tool such as Empirix Bean-Test or Rational PerformanceArchitect may be required in future. 1.4.4 Regression Testing Standards Rational TestStudio or similar regression testing tool may be required in future. Confidential Page 4 of 15 1/17/2013
  • 5. Project BCOOL Standards Document 1.5 Version Control Visual SourceSafe clients should be used from development PCs. VSS server will be running on the LOKI server. Typical VSS options- checking in a file in respective java package, checking it out for write access, canceling a checkout in case the build broke or your code regressed, and getting latest for readonly access. Three types of Visual SourceSafe databases should be used: 1.5.1 UmlModel- Model database The “UmlModel” is the database version controlled for the entire architectural baseline- use case models, system functions w/ algorithms, UML diagrams (domain object models, sequence diagram. class designs, state machines etc), and the data model (schema design). 1.5.2 Codebase- Code database The “Codebase” is the database version controlled for the entire codebase, pluggable into Java IDE and modeling tool. The schema “file” will be stored in the codebase. (Note that the schema “design”-diagram- should be stored in the UmlModel database.) Even the Java Archieve files – JARs, WARs and EARs, XML meta-info, EJB descriptors – are stored here. JavaDoc files also are generated from within the codebase. It should conform to the JavaDoc standards, for API documentation in the least. Patch release is used whenever branching is made. J2EE comes with an enterprise application, eStore. The codebase should be structurally baselined on the eStore package structures, to begin with. The entire BCOOL hierarchy of java packages should look like combination of these: Figure 1: The BCOOL hierarchy of java packages should look like combination of these two. 1.5.3 Docs- Document database The “Docs” is the database version controlled for the entire documentation- Word/html documents, and so on. Refer to the “BristleCone Technical Notes Process”, technotes.doc for further details. The HTML documentation created can also be used in the RUP style sophisticated project website, by inserting “css-“stylish html docs into javadoc style comments. Confidential Page 5 of 15 1/17/2013
  • 6. Project BCOOL Standards Document 1.6 Using IBM VisualAge for Java 1.6.1 VAJ with EJB/JSP support Refer to IBM’s website for the ”VisualAge for Java and WebSphere Studio Tutorials” series, e.g. http://www7.software.ibm.com/vad.nsf/data/document3936 1.6.2 VAJ with SAP R/3 support The screenshots for Advanced generation of Java proxies using the “AccessBuilder for SAP R/3” in VAJ3.5 are given below. The AdvancedGenerationDlg option in the AccessBuilder.ini file has to be set to 'true' for it to be enabled, default is false. Setting it to true brings up the screen in AccessBuilder as shown below: Figure 2: SAP R/3 support in VAJ Enterprise Confidential Page 6 of 15 1/17/2013
  • 7. Project BCOOL Standards Document 1.6.3 VAJ with VSS 1.6.3.1 Connecting VAJ with VSS “codebase” To point to the VSS “codebase” database, you will have to first install VSS client on your machine and then you need to point to the “//loki/vss/codebase/sourcesafe.ini” file, vss is the share on the //loki server. Figure 3: Connecting VAJ with VSS “codebase” When you define your “connection” to the VSS “codebase” database, with the “$ProductName/src” VSS project; you have to set to the “src” subdir of your working folder on your hard disk. Figure 4: Defining/changing the VSS connection from VAJ Confidential Page 7 of 15 1/17/2013
  • 8. Project BCOOL Standards Document 1.6.3.2 Adding class “files” from VAJ to VSS “codebase” You need to add to “codebase” the class “files” you created newly in VAJ as follows: Figure 5: Adding VAJ files to VSS "codebase" 1.6.3.3 Other VSS options These options work from within VAJ, just as they do for any other tool such as Rational Rose. But what if you do NOT use VAJ repository? If you use a file editor instead, then you must add your file to the VSS codebase “packages”, appropriately. VAJ developers then can either “get” or “checkout” that file, if needed. 1.7 Labeling the Build from command-line into VSS “codebase” The VSS "codebase" should have all files checked in for the build. The build process should begin with an email notification of the "check-in within 15 minutes" kind. After the VSS “get latest” codebase, the build process should end up in a (hopefully unbroken) successful build. Start labeling the build with the build date, e.g. 20000731-1 for a build #1, dated 07/31/2000. Most "Rational" builds follow this type of convention. For each build, the labeling should be done by the build master against the VSS “project” $/bcoolBuild/src. We will use the ant build tool to do the command line label operations with VSS at the end of the successful “build”. We will also explore if we can use the ant build tool to do deployment for Bea Weblogic server. Please refer to the updated documentation on the build process from VSS “docs”. The buildmaster sends an email to development@bcone.com re. the structure of bcool build document whenever it is updated. That will reinforce the classpath across the dev/qa boxes for the bcool team. Confidential Page 8 of 15 1/17/2013
  • 9. Project BCOOL Standards Document 1.8 Proposed Build configuration infrastructure: hardware & software DEVELOPMENT STAGING SERVER DEMO I (SERVER) DEMO II (Mirror) SERVER Win2k Server (MSDN) Win2k Server (MSDN) Win2k Server (MSDN) Win2k Server (MSDN) WebLogic WebLogic WebLogic WebLogic SQL Server (MSDN) R/3 w/ SQL Server R/3 w/ SQL Server SQL Server (MSDN) Dashboard (MSDN) (SAP Customer copy) (SAP customer copy) Dashboard (MSDN) ILOG COM API Dashboard (MSDN) Dashboard (MSDN) ILOG COM API Bcool build ILOG (node-locked) ILOG (node-locked) Bcool build Bcool build Bcool build DATABASE SERVER R/3 SERVER NT 4.0 Server (MSDN) BW SERVER APO SERVER NT 4.0 Server (MSDN) SQL Server (MSDN) NT 4.0 Server (MSDN) NT 4.0 Server (MSDN) R/3 w/ Oracle ClearQuest and Rose BW 2.0B w/ Oracle APO 2.0B w/ Oracle (SAP Production copy) (floating license server) (SAP Production copy) (SAP Production copy) SourceSafe Server File server ILOG (floating server) Figure 6: Proposed Build configuration infrastructures 1.8.1 Nightly Build on Build Machine We run the ant build.xml based builds to develop the web/ejb/eis tiers on development build machine. The build should be scheduled to start exactly at 2 AM every night. 1.8.2 Nightly Deployment on Development Server (Stage I) We should ideally not do builds on development servers, since other developers might be testing their JSPs against the servlets and EJBs deployed the previous night. We run the ant deploy.xml script to deploy the WAR, the EJB-JAR and the EAR files (wherever applicable) on the development server. The deployment script should be scheduled to start exactly at 2 AM every night. 1.8.3 Weekly Deployment on Staging Server (Stage II) We should ideally not do builds on staging servers. We run the ant deploy.xml script to deploy the WAR, the EJB-JAR and the EAR files (wherever applicable) on the staging server. The deployment script should be scheduled to start exactly at 2 AM every Friday. Confidential Page 9 of 15 1/17/2013
  • 10. Project BCOOL Standards Document 1.8.4 Milestone Deployment on Demo/Mirror Servers (Stage III) We should never do builds on demo/production servers. We run the ant deploy.xml script to deploy the WAR, the EJB- JAR and the EAR files (wherever applicable) on the demo/production boxes. The deployment script should be scheduled to start exactly at 2 AM every milestone-end. We also update the database server and the R/3 server with the latest test data. 1.8.5 Making the build on Development Servers 1.8.5.1 Bill of Materials(BOM) for builds Refer to the build document, “Structure of Bcool Build” for Bcool build structure & the build process. 1.8.5.2 Making the Build using Ant command-line Assuming you have Ant installed, to execute this build, change to the directory where you've done a VSS “get” on the file “build.xml” and from a command line enter ant. You should see the output shown below. Figure 7: The results of running Ant build tool from command-line Admittedly, it's not too useful so far, but it does show you the basic structure of a build.xml file. The Ant documentation explains the options and tasks available, and Ant provides its own build file that you can model your builds on. Confidential Page 10 of 15 1/17/2013
  • 11. Project BCOOL Standards Document 1.8.5.3 Making the Build using Ant in VisualAge for Java While Ant is most often used as a command-line tool for automated nightly builds, the command line is not the easiest place to debug problems with your build or create custom tasks. It's easier to integrate Ant into VisualAge for Java to create and debug custom tasks. 1.8.5.3.1 Importing Ant into VisualAge for Java The most effective way to import Ant into VisualAge for Java is to import the source code. It's easier to debug your custom tasks when you can step through all the code and see what's happening. Ant uses a Java API for XML Parsing (JAXP) compliant XML parser to read the build.xml files. The binary release of Ant includes Sun's jaxp.jar and parser.jar files, the reference implementation of JAXP. You can get the JAXP parser from Sun. To import Ant into VisualAge for Java: Extract the source code from jakarta-ant.tar.gz into the /tmp directory. Import from the directory /tmp/jakarta-ant/src into a new project named Ant. Import the .jar files /tmp/jakarta-ant/lib/jaxp.jar and /tmp/jakarta-ant/lib/parser.jar into a project named JAXP. Select the class org.apache.tools.ant.Main in the Ant project, and select Properties from the Selected menu. Select the Classpath tab, and select Edit beside the Project Path field. Select JAXP, then OK twice. Select IBM XML Parser for Java, then OK twice. Version the Ant project to 1.1, IBM XML Parser for Java to 1.0, and the JAXP project to 1.0. Once you are done, set the ant.Main properties in your Workbench as shown below: Figure 8: Setting ant.Main properties after importing and versioning Ant and JAXP Confidential Page 11 of 15 1/17/2013
  • 12. Project BCOOL Standards Document 1.8.5.4 Running & Debugging the build from within VisualAge for Java The simplest way to run a build from within VisualAge for Java is to execute the main method of the org.apache.tools.ant.Main class, passing in any parameters on the command line. When you run Ant without any options, it looks for a build.xml file in its current directory. Due to the way VisualAge for Java starts an application, that current directory will always be ~/vaj/ide/project_resources/Ant, where ~/vaj is the directory where you installed VisualAge for Java. So to run your build, you can either import build.xml with the Import dialog into your project resources directory, or you can use the -buildfile command-line option, which lets you specify which build file to use. Running the main method of the org.apache.tools.ant.Main class produces the output as shown below: Figure 9: The results of running build.xml in VisualAge for Java Confidential Page 12 of 15 1/17/2013
  • 13. Project BCOOL Standards Document 1.9 Deploying the BCOOL application from the build machine Refer to “Structure of Bcool Deployment” document for details on Bcool deployment structure & deployment process. Also refer to the “Bristlecone Software Development Process Model” shown below, Implementation, test and deployment process workflows: Bristlecone Software Process Model Product Management Engineering Engineering Engineering Engineering Product Management Roll In Roll Out Business Analysis & Process Workflow: Requirements Implementation Test Deployment Modeling Design Business Systems Software Tech Leads & DBA with QA & Test Release Roles responsible: Analyst(s) Analyst(s) Architect(s) Build Master Lead(s) Manager Business Scope-level Analysis Model Build-level Scope-level Build-level Responsibilities: Domain Model Use-Case Model & design Model Implementation Model Test Plans Deployments Output artifacts: Business requirements doc Use-case Models Analysis models Component Design Diagrams System test plan execution "Bcool" Bill of Materials Scope-level block diagrams Use-case specs Design models Structure of "Bcool" Build Defect/feature tracking database Deployment Plan Business Process flowcharts Scope-level seq diagrams Object-level seq diagrams Html API/Javadoc & technotes Use-case based system testing Installation & Release Notes Requirement Attributes UI-level activity/state charts UI-level Proofs of Concept Scope-level build w/ junit tests regression test dev & exec User Manual SAP Mappings Scope-level Data model Design-level Data model Implementation-level Schema Test data creation & replication On-line Help files Business Rules Domain object model Model of Systems Architecture Ant-based build development Ant-based build deployment Manual/Auto Demo scripts Glossary Resource Infrastructure: Laptop Desktop Desktop Build Machine Stage I (Dev) Server Stage II (Staging) Server with with with Word, Excel & Visio Rose and Visio Rose and Visio Figure 10: Bristlecone Software Development Process Model 1.10 What if the Build is “broken”? Penalty ;-) Penalize the developer responsible for breaking the build! Even if the unit tests were successful, it does not mean that the build can be integrated from these. 1.11 Installation Process for demos 1.11.1 InstallAnywhere Standard Edition API Reference website http://www.zerog.com 1.12 Testing the build for demos Refer to the test plan documentation, created by test lead, Vijay Aliseti. Confidential Page 13 of 15 1/17/2013
  • 14. Project BCOOL Standards Document 2 Reference websites We need to expand this list for all items listed in the topics “Engineering Standards”, “Coding Standards”, and “Bill of materials for the build machine”: • The Apache XML project http://xml.apache.org/index.html • UNIX toolset for Windows http://sourceware.cygnus.com/cygwin/ 2.1 Issues • The JSP developer’s JSP tag library can call the EJB developer’s session bean, which may call the entity beans or directly execute the SQL statements (using JDBC) on the build machine running SQL server. • The repository of IBM VisualAge for Java connects using the SCCS API to the VSS version control “codebase” database on the build machine. • The JDBC RowSet 1.0 spec (part of JDBC 2.0 Optional package API) should be used for client-side caching. This concept is similar to Microsoft COM+ concept of disconnected recordsets. • When does Rational Rose “synchronize” code with VSS codebase? The “code freeze” time looks good for this, after the build is installed and tested on the build machine, with no major regressions. • Test planning documentation pending until Vijay Aliseti begins working on it. • The command line scripts need to be developed- for labeling the VSS codebase, incremental builds, and to do the master build. • Defect/Feature tracking process and tool TBD. Confidential Page 14 of 15 1/17/2013
  • 15. Project BCOOL Standards Document Epilogue Eat own dog food. Courtesy: “Show-Stopper!: The Breakneck Race to Create Windows NT and the Next Generation at Microsoft” By G. Pascal Zachary. Hardcover (October 1994) Confidential Page 15 of 15 1/17/2013
  • 16. Project BCOOL Standards Document Epilogue Eat own dog food. Courtesy: “Show-Stopper!: The Breakneck Race to Create Windows NT and the Next Generation at Microsoft” By G. Pascal Zachary. Hardcover (October 1994) Confidential Page 15 of 15 1/17/2013