Java Project Management: Agenda



Similar documents
Java Project Management. Java Project Management: Agenda. Extreme Java G

What Is the Java TM 2 Platform, Enterprise Edition?

An infrastructure and virtualization company. a virtualization company

White Paper. Java versus Ruby Frameworks in Practice STATE OF THE ART SOFTWARE DEVELOPMENT 1

What is Middleware? Software that functions as a conversion or translation layer. It is also a consolidator and integrator.

Java-technology based projects

Appeon for PowerBuilder

Accelerating High Performance with Accenture Application Services for Java

3-Tier Architecture. 3-Tier Architecture. Prepared By. Channu Kambalyal. Page 1 of 19

Extend the value of your core business systems.

New York University Computer Science Department Courant Institute of Mathematical Sciences

Service Virtualization:

Web Apps The Next Generation

Accelerating Business Value by

Architecture Design For Web-based Application Systems. Instructor: Dr. Jerry Gao Class: CMPE296U

A Software Engineering Process for Operational Space Weather Systems. S. Dave Bouwer, W. Kent Tobiska Space Environment Technologies

A Comprehensive Solution for API Management

Making Leaders Successful Every Day

Greater Continuity, Consistency, and Timeliness with Business Process Automation

Migrating Legacy Software Systems to CORBA based Distributed Environments through an Automatic Wrapper Generation Technique

Migrating Applications From IBM WebSphere to Apache Tomcat

Web Application Architectures

Latte Rapid Application Development. William Dunlap Product Manager Borland International

Computer and Information Sciences

Cloud computing: Innovative solutions for test environments

Developing an Enterprise Client Virtualization Strategy

Internet Engineering: Web Application Architecture. Ali Kamandi Sharif University of Technology Fall 2007

Making the Case for Open Source Controllers

Customer Cloud Architecture for Mobile.

A Modular Approach to Teaching Mobile APPS Development

A Path from Windows Desktop to HTML5

UNIX AS AN APPLICATION SERVER IN A NETWORK OPERATING SYSTEM ENVIRONMENT

E-Guide SHAREPOINT UPGRADE BEST PRACTICES

Michigan Criminal Justice Information Network (MiCJIN) State of Michigan Department of Information Technology & Michigan State Police

Web Integration Technologies

Enabling the Information Age

Modernizing enterprise application development with integrated change, build and release management.

A Proven Approach for Successful Systems Integration

Business Intelligence

Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming

AS/400 System Overview

Address IT costs and streamline operations with IBM service request and asset management solutions.

Cloud Operations and Usage Research: Learning from Experience VMWARE WHITE PAPER

Successful Outsourcing of Data Warehouse Support

BRING YOUR OWN DEVICE

Chapter 13: Program Development and Programming Languages

CoIP (Cloud over IP): The Future of Hybrid Networking

Extending the Benefits of SOA beyond the Enterprise

Distributed Systems Architectures

Oracle Application Server 4.0: The Integration Platform for Oracle Products and the Internet. An Oracle White Paper August 1998

ORACLE FORMS APPLICATIONS?

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

Enabling Technologies for Web-Based Legacy System Integration

Enterprise Infrastructure Architecture

Client/server is a network architecture that divides functions into client and server

Oracle Net Services for Oracle10g. An Oracle White Paper May 2005

White Paper Converting Lotus Notes Applications to the Cloud Using the CIMtrek converter Product

VMware Hybrid Cloud. Accelerate Your Time to Value

Rapid application development for JEE using Adobe ColdFusion 9

LDAP Authentication Configuration Appendix

WEB-ENABLING MAINFRAME APPLICATIONS: THE CASE FOR A MORE STRATEGIC SOLUTION

WWT View Point. Journey to the Private Cloud: Take the First Steps with FlexPod

Transforming Control System to a Virtualized Platform, including On Process Migration. Anneke Vemer ExxonMobil

GLOBAL PARTNER TRAINING

INTRODUCTION TO JAVA PROGRAMMING LANGUAGE

Virtualization s Evolution

Integrating Siebel CRM 8 with Oracle Applications

The end of middleware: Direct Data Integration Services Mobile Enterprise Access (MEA) White Paper March 2004

A Secure and Open Solution for Seamless Transit Systems

Cloud Computing. Carlos Passi, Assistant Controller, Business Transformation, IBM Corp. Steve Ford, CFO, TradeCard. March 24, 2011

Object-Oriented Design Guidelines

J2EE Promises and Customer Experiences

IBM Rational Web Developer for WebSphere Software Version 6.0

Michigan Criminal Justice Information Network (MiCJIN) State of Michigan Department of Information Technology & Michigan State Police

Peter Overgaauw. Solution Consultant. Did you know?

Bridge Development and Operations for faster delivery of applications

Analyzing End-to-End Performance

Alice. Software as a Service(SaaS) Delivery Platform. innovation is simplicity

Unit 2 Research Project. Eddie S. Jackson. Kaplan University. IT530: Computer Networks. Dr. Thomas Watts, PhD, CISSP

Java TM WorkShop TM and Beyond. Joe Keller Director of Marketing SunSoft Developer Products

A Performance Comparison of Web Development Technologies to Distribute Multimedia across an Intranet

The Role of the Operating System in Cloud Environments

Global Delivery Excellence Best Practices for Improving Software Process and Tools Adoption. Sunil Shah Technical Lead IBM Rational

XXI. Object-Oriented Database Design

T13 TESTING SOA SOFTWARE: THE HEADLESS DILEMMA. John Michelsen itko, Inc. BIO PRESENTATION 10/19/2006 1:30:00 PM

Mobile Enterprise Application Platforms MEAPs and the Promise of Device Agnosticism

Improvement of Software Quality and Productivity Using Development Tools

Software development for the on demand enterprise. Building your business with the IBM Software Development Platform

Virtualization - Adoption

U.S. Navy Automated Software Testing

Taking the Open Path to Hybrid Cloud with Dell Networking and Private Cloud Solutions

Advisory Consultant Senor Business Analyst

Planning the Migration of Enterprise Applications to the Cloud

Mobile Application Languages XML, Java, J2ME and JavaCard Lesson 04 Java

Enterprise Integration Architectures for the Financial Services and Insurance Industries

At the Heart of Connected Manufacturing

Transcription:

Extreme Java G22.3033-007 Session 2 - Sub-Topic 1 Java Project Management Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences Java Project Management: Agenda Java: An Enabling Technology Is Java a Fad? Converting Existing Business Systems Managing a New Technology Is Java Right for Everyone Bridging Procedural and OO Styles Building Execution Architectures From Applets to Multi-Tier Systems Building Complex Java-Based Systems 1

Java Project Management Help business and technical managers understand the advantages and challenges in planning, developing, and deploying Javabased business solutions Java: An Enabling Technology Through multiple deployment options, companies have more flexibility in meeting the needs of a varied user or customer community The promise of low-cost network computers is enabled by Java s ability to bring business application functionality and capability to this platform 2

Java: An Enabling Technology Through platform independence, Java gives the opportunity to reduce operational cost and improve service delivery by migrating the business application to the best price/performance platform Through Java technology s simple integration with Internet technologies, companies can easily and effectively develop rich and flexible intranet apps Is Java a Fad? Adoption of Java technology has mirrored the rise in interest in the Internet Software companies have incorporated Java products into their strategic plans Java computing has been embraced by a wider community of users and developers than has any other development technology 3

Is Java a Fad? Time-to-market reductions can be achieved by leveraging the experience and tools built from different parts of the Java community Converting Existing Business Systems Most business systems require costly and time-consuming upgrades sometime during their lifecycles The most successful and least expensive conversions begin with a clean or wellwritten existing system 4

Converting Existing Business Systems A structured approach should be developed and used when converting legacy systems There are several advantages of converting existing systems to Java, but they must be weighed against the costs of conversion Java s similarity to C and C++ makes conversion from these languages relatively straightforward Converting Existing Business Systems Conversion of application code to Java takes significantly less time than building the original system. The time required to test the converted system may be similar to the amount of time spent in the original application build 5

Managing a New Technology Despite the many advantages of Java computing, there are risks resulting from the emerging nature of the technology Java technology is popular. Because of the extreme interest in the technology, companies must carefully plan and implement a strategy of support from technology vendors Managing a New Technology Java development tools are emerging and may not be equal (in terms of features and functionality) to development tools for other languages currently in use by the company The integration of third-party products, especially those based on C/C++ may be a challenge as vendors begin to adopt Java technology. Such integration requires skilled resources if performed internally 6

Managing a New Technology Owing to the pace of its acceptance and release cycle, companies should accept and plan for challenges in the Java implementation. Although these problems can be overcome, they will result in some delays in application development and will require skilled resources Managing a New Technology Deep Java skills are scarce. As Java technology is adopted by more and more companies, the skill base will increase but the demand will still be great. A company should carefully consider where it will obtain the necessary skills to complete its project 7

Managing a New Technology Java technology is well suited for building and deploying business systems; however, the overall experience in this area is immature when compared with technologies such as C, C++, and COBOL. This will result in application development delays as companies are forced to learn from experience in evolving their initial Java-based business applications Managing a New Technology Companies should develop a risk management strategy to mitigate the risks of using Java technology and ensure successful development of Java-based business systems 8

Is Java Right for Everyone? Has Java technology matured to a point to which the company can successfully implement a Java-based business system? How important to the company is it to be a technology leader? Have developers been experimenting with Java applications? Do strong third-party products exist to meet business requirements? Is Java Right for Everyone? Has Java technology matured to a point to which the company can successfully implement a Java-based business system? Does the company have a culture of filling the gaps with new technologies? Does the company have the fortitude to be working in a fast-paced rapidly changing environment? Does the company have a green field or new project? 9

Is Java Right for Everyone? Does the company have the related technology skills and infrastructure to deliver, deploy, and operate a complex, critical Java-based business system client/server systems Object-oriented development Intranet technology Web technology Internet technology Is Java Right for Everyone? What is the best way to develop the right Java skills? Building related skills Leveraging a green field application Developing iteratively 10

Bridging Procedural and OO Styles In the business world, procedural-based systems are older and more pervasive than object-based systems Object-based systems are more difficult to build, but the promise of improved productivity, reusability, and maintainability is powerful Java can be used to support either a procedural or an object approach Bridging Procedural and OO Styles For companies with a significant base of procedural developers, an approach worth considering is building the system in a way that leverages elements of both procedural and object styles 11

Building Execution Architectures Companies building large or multiple business systems can benefit by leveraging an execution architecture that addresses common technology requirements Execution architectures simplify and standardize the development of business applications for developers. These architectures can be used across multiple projects Building Execution Architectures The cost and time required to create an execution architecture must be justified by the estimated savings in development and operation costs Java simplifies, enhances, and improves the implementation and operation of execution architectures 12

Building Execution Architectures The use of Java in building an execution architecture faces some challenges (for example, interfaces to third-party products), but the advantages generally outweigh the disadvantages Considerations in Moving from Applets to multi-tier systems Consider the emerging nature of Java technology Consider availability and performance requirements of server-side services Consider reliability, security, and logical state management challenges of deploying Internet-based apps Consider challenges of competing DOC standards (CORBA3 / COM+ /.Net) 13

Considerations in Building Complex Java-Based Systems Java supports end-to-end functionality (complex server-side service applications and client-side apps loaded from Web pages System developer should provide a layer of isolation between the business system logic and unproven, rapidly evolving network computing technology DOC does not provide all the answers. Gap filling is needed in the infrastructure. Overcoming Performance Challenges Java technology has been improving Computing platforms have been improving Portability is a tradeoff High-quality, predictability, and consistent behavior are other tradeoffs Typical improvements: efficient design / implementation, business processes streamlining, etc. 14

Making Applications Secure No need for dynamic loading of Java applications Only HTTP is allowed in some cases through corporate firewalls Other Areas of Concern Highly Available Systems Motivating application developers Learning the technology Improving developer productivity memory management, compiler, base classes, systems programming, platform independence, object programming, error handling 15

Other Areas of Concern New development tools and processes editors, compilers, debuggers, GUI painters, standards, source code control, hardware and OS, etc. 16