Cover Page

Swift in the Cloud






Leigh Williamson

John Ponzo

Patrick Bohrer

Ricardo Olivieri

Karl Weinmeister

Samuel Kallner












Wiley Logo


Karl would like to dedicate this book to his supportive wife, Samantha,
and their crazy kiddos, who still gave him enough time to write.

Leigh dedicates this book to his wife, Cheryl, always his compass
through life, and his daughter, Claire, the light of his life.

About the Authors

Leigh Williamson is an IBM Distinguished Engineer who has been working in the company’s Austin, Texas lab since 1989, contributing to major software projects for IBM, including OS/2, DB2, AIX, Java, WebSphere, Rational, and MobileFirst products. He is currently leading a cross-disciplinary team of IBM Cloud Consultants who assist clients with cloud computing strategy and execution. Leigh is an active mentor and leader in the IBM technical community, working with international mentees; working in the Advanced Technical Eminence program; leading multiple patent brainstorming teams; publishing technical blogs and articles; conducting external broadcast webinars; and speaking at IBM and non-IBM conferences.

This is the fourth IBM Press book on which Leigh has collaborated over the past 15 years, with works covering Java standards, WebSphere Application Server, and enterprise-class mobile application development. He holds a B.S. in Computer Science from Nova University and an M.S. in Computer Engineering from The University of Texas at Austin.

You can follow Leigh on Twitter at @leighawillia. His LinkedIn address is https://www.linkedin .com/in/leigh-williamson-9048654.

John Ponzo is an IBM Fellow and Chief Technology Officer for Mobile who has shaped the future of IBM business in mobile computing and delivered innovative products and services to web browser and server-based standards. He is a pioneer in technology that promotes end-user interaction through mobility, web programming, web application middleware, and software tools. John led the development of key software technologies including HTML/JavaScript runtime libraries, XML middleware, web services runtime libraries, Eclipse Web Integration, and Web 2.0 enterprise collaboration services. He also authored the “Enterprise Mobile” and the “Mobile First” theses that are the cornerstone of mobile strategy and execution at IBM. John also serves as the IBM technology ambassador to Kenya.

John is the primary technical collaborator between Apple and IBM in the effort to define and enhance the Swift programming language for both mobile client development and cloud services development.

Patrick Bohrer is a Distinguished Engineer in the IBM Cloud division. His responsibilities include serving as the technical lead for the company’s global efforts around Swift@IBM (developer.ibm .com/swift). He formerly served as the technical lead of the Mobile Innovation Lab in Austin, Texas. Patrick also helped lead IBM Research’s Mobile Research agenda after co-leading the 2012 Global Technology Outlook topic entitled “Mobile First,” which helped set the technical direction for current mobile and cloud efforts at IBM. Patrick received a B.A in Computer Science from The University of Texas at Austin.

Karl Weinmeister is the Program Director for Swift@IBM Engineering, based in Austin, Texas. He is passionate about improving people’s lives and experiences with technology. In his role, he has helped to enable Swift to extend from its mobile roots to become a full-stack language ecosystem.

Previously, Karl led engineering for the IBM Mobile Innovation Lab. He is a diehard Duke basketball fan and enjoys spending time with his family.

Ricardo Olivieri is a Senior Software Engineer at Swift@IBM Engineering. His areas of expertise include gathering and analyzing business requirements, architecting, designing, and developing software applications. Ricardo has extensive experience in the complete software development cycle and related processes, especially in Agile methodologies.

Ricardo has several years of experience in Java development as well as in Groovy, Perl, and Python development, with a strong background in back-end (server-side, business logic, SQL, and NoSQL databases) and front-end development. Several years ago, Ricardo added Business Process Manager (BPM) design and development to his skill set, which allowed him to assume the role of BPM consultant and developer using IBM Business Process Manager. While working at the Mobile Innovation Lab, Ricardo gained valuable skills and knowledge in the iOS and Android ecosystems.

Ricardo is now mainly focused on the adoption of the Swift language on the server and the IBM cloud, Bluemix. He has a B.S. in Computer Engineering from the University of Puerto Rico, Mayagüez Campus.

Samuel (Shmuel) Kallner is a Senior Technical Staff Member in the Smart Client Platforms group at the IBM Research Lab in Haifa, Israel. He is currently the Technical Lead of the Kitura project. Shmuel has over thirty years of experience at IBM working on a wide variety of projects including mobile apps, web-based end-user application development environments, mobile app developer tools, both sides of client-server–based applications, and more.

About the Technical Editor

Matthew Perrins is a Senior Technical Staff Member working on IBM Cloud Developer Services in Austin, Texas. Matt is one of the architects for the company’s production-ready public Cloud Developer Experience on Bluemix—the IBM cloud platform. He is focused on making it very easy to develop and deploy mobile, web, and digital channel applications with the IBM cloud, and to integrate them with world-class leading runtimes for Swift, Node.js, and Java. Matt has been leading the IBM cloud teams in the evolution to true DevOps continuous delivery with cloud-native architectures, and driving that integration into the IBM Bluemix user experience.

Matt has spent a significant part of his career building systems-of-record and systems-of-engagement solutions using IBM technologies with IBM clients. He understands developers, user experiences, transactions, and cognitive solutions and how to deliver them at scale on the IBM cloud.

Credits

Executive Editor

Jim Minatel

Project Editor

Adaobi Obi Tulton

Technical Editor

Matthew Perrins

Production Editor

Dassi Zeidel

Copy Editor

Marylouise Wiack

Production Manager

Katie Wisor

Manager of Content Development and Assembly

Mary Beth Wakefield

Marketing Manager

Christie Hilbrich

Professional Technology & Strategy Director

Barry Pruett

Business Manager

Amy Knies

Project Coordinator, Cover

Brent Savage

Proofreader

Nancy Carrasco

Indexer

Johnna VanHoose Dinse

Cover Designer

Wiley

Cover Image

© fishbones/Getty Images

Acknowledgments

Many thanks to everyone at Wiley Publishing for their outstanding work on this project: to Jim Minatel for encouraging us to take this book concept forward and for yet again supporting the realization of a book that engages in deeper learning; to Adaobi Obi Tulton, the project editor, for driving this project to completion in the most efficient way possible—it was a real pleasure to work with such an accomplished and adept editor; to Marylouise Wiack, the copy editor, for translating this book into readable prose; and to Dassi Zeidel, the production editor, for bringing everything together to create a final, polished product.

Sincere thanks go to Matthew Perrins, the technical editor, for the incredible amount of work and personal time he selflessly put into ensuring that the content in this book can be utilized seamlessly by readers. Also, thanks to Steven Stansel, who was instrumental in formulating the original concept and proposal for the book. Brian White Eagle provided invaluable assistance with peering over the horizon in Chapter 9. And Shereen Ghobrial contributed the bulk of the mainframe-related content.

The biggest thank-you must, of course, go to our own families. This book was written over six months, predominantly at night and over weekends and holidays. In addition to sharing us with extremely demanding full-time jobs, our families made further sacrifices to enable us to spend time on this project.