Client/Server Concepts & Issues
ARE UNDERSTANDING AND FOCUS CRITICAL TO SUCCESS?
This four-day seminar provides an overview of client/server technology and architectures, along with an in-depth discussion of managerial issues—such as cost and impact on personnel—associated with a client/server implementation.
The creation of a scalable, maintainable, and effective distributed computing system has proven to be a frustrating task for large organizations worldwide. Basic client/server concepts often appear simple, and the enabling technology is readily available and relatively inexpensive. But the complexity of effective client/server construction (and the scope of the organizational changes required for its maintenance and operation) is rarely understood before an initial project is well on the way to disaster.
The Client/Server Concepts & Issues seminar provides the understanding of distributed computing prerequisite to the success of any client/server project, along with an in-depth examination of associated managerial issues. Attendees will acquire:
- A clear perspective of forces and issues that motivate the move to client/server, the technological evolution that enables the move, and the effects of a move on organizations and people.
- A precise understanding of what client/server is and is not, how it differs from the resource sharing services of network operating systems, what constitutes an effective client/server model (and why some popular models don't work), the relative merits of two-tier and multi-tier architectures, and the problems with traditional software development life cycles.
- A working knowledge of the abstract architectures used to define the structure and components of effective client/server systems, the use of the Services Model to design and verify architectures, various strategies for distributing data, the relationship between network bandwidth and distributed processing, and the design of streamlined GUI RAD SDLCs.
- An in-depth analysis of where client/server fits and doesn't fit as a solution strategy, problems with infrastructure and application development, education and training required to build and/or augment staff skills, and major cost components.
- Proven strategies for identifying and managing the risks typically associated with a move to client/server, with actual case studies that illustrate effective methods for managing the migration.
- Basic guidelines for designing scalable, fault-tolerant distributed systems that provide data integrity and security, and for restructuring organizations to best utilize these systems.
Who will benefit?
The Client/Server Concepts & Issues seminar is designed for both computing professionals and technically involved end users. Anyone involved in evaluating, implementing, managing or using client/server technology will benefit.
Course Outline:
The Roots of Client/Server
In this module we describe the evolving business needs that powered the development of client/server technology, how fulfilling those needs often conflicts with established IT infrastructures and practices, and the need to re-engineer IT infrastructures and attitudes to support effective client/server systems.
We show how the enabling technology for client/server has evolved and proliferated to suit the demands of end users, disrupting access to data required in today's rapidly changing business climate.
What is Client/Server?
You can't build effective client/server if you don't agree with others as to what it is. We logically discount various popular definitions to show what client/server really means, then go on to show how it works and how it compares to other computing models. Topics covered include:
- Evolving programming models
- Various forms of cooperative processing
- Inter-Process Communication
- Critical enabling technologies for client/server
- Distributed applications vs resource sharing
- Client/server applications and communications
- Clarifying examples of client/server
- Two-tiers or three? Examples.
The Case for Architectures
To build an effective information system, you need detailed plans. We show how architectures answer critical questions before a project is begun and insure that focus is not lost in the process of implementation. Popular architectural models, such as the Gartner model, are analyzed and their weaknesses exposed.
Business Technology Vision
The foremost architecture is the business technology vision that drives the project. In this module, we describe the components of a business technology vision and use an exercise to help participants create a vision for their organization.
Application Architecture
Spreading applications and data across a network requires thinking about the general structures of distributed applications and data. In this module, we introduce the Services Model, which breaks the application into manageable layers of functionality. Topics covered include:
- Various application architectures
- The Services Model
- Layers: enabling, expressive, and distributed
- Distribution models and partitioning alternatives
- Where do business processes go?
- Data validation vs business process services
- Two-tier vs three-tier client/server strengths and weaknesses
- Models compared, knock-offs
- Preferred two- and three-tier models
- Communicating architecture
- Generic distributed data access and update
- How many services per processor?
- Examples of application architecture
- Configuration options, architecture choices
Technology Architecture
The technology architecture expresses the business technology vision and the application architecture as service interfaces and specific product choices. We discuss how these choices are made most effectively and related issues involving distributed data and network bandwidth. The Services Model does double-duty here as a simplification device. Topics covered include:
- Services & Interfaces; where's the leverage point?
- Enterprise API
- Technology architecture choices
- Business services server architectures; mainframes
- Data server architectures; data gateways
- High level view of technology architecture
- Network architecture
- Distributed vs centralized services
- Accessing Remote Services
- Remote Access Links
- Distributed data: partitioned, extracted, and replicated
- Levels of distribution
- Distributed update strategies; two-phase commit
- Distributed transaction control
- On-line asynchronous replication
- Distribution & synchronization information
- Remote data access strategies
- Execution architecture
- Technology selection process
Process Thinking
Both technology and business models are changing at a frightening pace. Taking advantage of these changes requires a revolutionary way of thinking about technology and organizations that revolves around process rather than tasks and data. This module analyzes this new way of thinking and shows how client/server—a process-driven computing model—mandates its adoption. We show why the efficient transfer of information is as much dependent on business structure as on enabling technology. Topics include:
- Riding the twenty-year wave: the cyclical nature of technological evolution
- Dealing with a paradigm shift: what it means, how it happens, what it leads to
- The effect of scale on application development
- Business process re-engineering: borrowing ideas from the factory; business rules; cultural shift
- Making it work: the need for a business vision
- The classical information engineering model; what changes with client/server?
- What's senior management doing?
- Exploding pre-conceptions that hinder an understanding of client/server; what client/server is really about
- PC industry worldview and the problems with the model
- Who really keeps the business running?
- The mainframe: just a database? tasks, queues, and processes; general architectural model
- Controlled decentralization: loose-tight data
- Self-managed teams, self-managed databases
- Business rule components
- Interoperability and performance
- Process-oriented design
- Distributed data or distributed processing? Linking business & process engineering
- Design lifecycles, classical vs client/server
- Object oriented: processes are objects; objects can be processes
- The client/server design model; is it practical?
- Two-phase commit; real time or real enough time?
- Distributed process infrastructure
Software Development Life Cycle Issues
Client/server radically changes the way software is developed. This module explores the impact of distributed processes and data on methods used to implement systems. Topics include:
- Typical phases of SDLCs
- Problems With Traditional SDLCs
- CSG SDLC Caveats
- Client/server SDLC principles
- What changes with CSG RAD?
- Process model
- Visual prototype
- Designing graphical interfaces
- GUI components, standards, design principles, rapid development
- Data modeling
- Technology assessment
- Network bench marking
- Event-driven programming
- Visual programming
- Multiple targets and strategies
- DLLs; custom controls; OLE
- Implementing business rules
- Testing & standards
- Documentation; on-line help
The Cost of Client/Server
The cost of a client/server project depends on many factors. This module shows you how to project costs based on your current infrastructure and compares both immediate and long-term costs to more conventional architectures. The cost of servers, support, training, and development are considered, and direct comparison with an AS/400 is charted.
When & Where Does Client/Server Fit?
If client/server technology is still evolving, how do you determine when and to what extent to implement it? This module discusses the factors you should consider before making a move and introduces the Project Risk Assessment Profile, a valuable tool for determining the risks associated with client/server projects. Topics include:
- When should you play? The determining factors
- Where does client/server fit?
- Major risk factors; the consequences of a bad choice
- A typical client/server project-actual case study
- Managing risks: the Project Risk Assessment Profile
- Infrastructure and application characteristics
- Another case study
- Strategies for reducing risk
Retooling
Client/server is as much about people as it is about technology and infrastructure. A shared sense of business priorities along with enhanced technical and interpersonal skills are required if distributed business processes are to function smoothly and effectively. This module analyzes the necessary changes and charts the necessary paths to implement them. Topics covered include:
- Retooling defined
- How IT professionals must grow
- Retooling vs re-engineering
- Re-engineering & information technology
- The IT organization of the past and its problems
- Retooling questions that must be answered by IT managers, CIOs, developers, and training managers
- The Shamrock Organization
- The new work force; the human side of retooling
- The skills gap; where are the skills?
- The need for improved interpersonal skills
- Business skills & knowledge; the technical curriculum
- The technical skills hierarchy
- How technical skills relate to the Services Model
- Client/server's impact on skill sets-application development
- The cost of retooling
and of not retooling
- Enterprise vs team training
- Enterprise retraining strategy
- Personal Development Planner
- New vs existing staff; can people be retrained?
- Creating the learning environment; learning organizations
- Changing employment contract
- The wisdom of IT investment
Ensure a smooth and effective transition to client/server. Call 1.800.756.9450 to schedule this seminar or request information about other Socrates Group seminars. If none of our standard courses fits your special needs, we'll gladly create one that does.
© Copyright 1995, The Socrates Group. All Rights Reserved.