Effective Service and API Development with Java

This is an advanced and pragmatic workshop covering Service and API design patterns and development practices.


There are many API sets we use in any development cycle coming from different frameworks or libraries. API quality depends on designer knowledge and design capability . A Simple, maintainable, functional and consistent API does not happen by accident. Service Oriented Architectures (SOA) have been around for years. Web services is the latest and greatest implementation of SOA. What does SOA really mean and how is it successfully implemented using Web services? Eteration's class on Effective Services and API development is aimed to help developers, architects, implementation managers to effectively use the core concepts and building blocks of services and how to design highly interoperable and scalable enterprise systems using the latest in services technologies such as and technologies such as XML, JSON, WS-*, REST and OAuth.

We focus on design practices that facilitate the development of better services and APIs, using SOA or different services architectures: SOA, REST, Modern API technologies. APIs such as those used by twitter, facebook and foursquare are discussed. Interoperability, enterprise level security and other advanced topics such as OAuth are also covered in the course.

API Design

  • General Design Tips and Best Practices
  • Modular Architectures
  • Use of Interfaces
  • Runtime aspects
  • Commitment and contracts


  • Design rules for addressing resources with URIs
  • Design principles to HTTP's request methods and response status codes
  • Guidelines for conveying metadata through HTTP headers and media types
  • Design tips to address the needs of client programs(??????? JV4??ipt )
  • Understand why REST APIs should be designed and configured, not coded
  • JAXRS and Java REST

Web Services

  • Service Oriented Architecture
  • Standard Java™ XML
  • JAXWS and Web Services APIs

Design Patterns and Best Practices

  • General Design Tips and Best Practices
  • WSDL First
  • RPC vs. Message Driven Thinking
  • Validation
  • Designing Good Schemata
  • Namespace Guidelines and Design Tips
  • Patterns and Anti-patterns
  • Versioning


This course is in advanced series and designed for senior developers, software & system architects, project managers involved with the development of Java™ applications.


2 days


Instructor Lead.