Rapid Application Development for Dummies eBook

January 14, 2018 | Author: chessbuzz | Category: Cloud Computing, Platform As A Service, Mobile App, Software As A Service, Application Software
Share Embed Donate


Short Description

Rapid Application Development for Dummies...

Description

­

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Rapid Application Development Progress Software Special Edition

by Paul Nashawaty

Senior Product Marketing Strategist

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Rapid Application Development For Dummies® Published by John Wiley & Sons, Inc. 111 River St. Hoboken, NJ 07030-5774 www.wiley.com Copyright © 2015 by John Wiley & Sons, Inc., Hoboken, New Jersey No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without the prior written permission of the Publisher. Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008, or online at http://www.wiley.com/go/permissions. Trademarks: Wiley, For Dummies, the Dummies Man logo, The Dummies Way, Dummies.com, Making Everything Easier, and related trade dress are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates in the United States and other countries, and may not be used without written permission. Pacific, DataDirect Cloud, Easyl, and Corticon are registered trademarks of Progress Software. All other trademarks are the property of their respective owners. John Wiley & Sons, Inc., is not associated with any product or vendor mentioned in this book. LIMIT OF LIABILITY/DISCLAIMER OF WARRANTY: THE PUBLISHER AND THE AUTHOR MAKE NO REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE ACCURACY OR COMPLETENESS OF THE CONTENTS OF THIS WORK AND SPECIFICALLY DISCLAIM ALL WARRANTIES, INCLUDING WITHOUT LIMITATION WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE. NO WARRANTY MAY BE CREATED OR EXTENDED BY SALES OR PROMOTIONAL MATERIALS. THE ADVICE AND STRATEGIES CONTAINED HEREIN MAY NOT BE SUITABLE FOR EVERY SITUATION. THIS WORK IS SOLD WITH THE UNDERSTANDING THAT THE PUBLISHER IS NOT ENGAGED IN RENDERING LEGAL, ACCOUNTING, OR OTHER PROFESSIONAL SERVICES. IF PROFESSIONAL ASSISTANCE IS REQUIRED, THE SERVICES OF A COMPETENT PROFESSIONAL PERSON SHOULD BE SOUGHT. NEITHER THE PUBLISHER NOR THE AUTHOR SHALL BE LIABLE FOR DAMAGES ARISING HEREFROM. THE FACT THAT AN ORGANIZATION OR WEBSITE IS REFERRED TO IN THIS WORK AS A CITATION AND/OR A POTENTIAL SOURCE OF FURTHER INFORMATION DOES NOT MEAN THAT THE AUTHOR OR THE PUBLISHER ENDORSES THE INFORMATION THE ORGANIZATION OR WEBSITE MAY PROVIDE OR RECOMMENDATIONS IT MAY MAKE. FURTHER, READERS SHOULD BE AWARE THAT INTERNET WEBSITES LISTED IN THIS WORK MAY HAVE CHANGED OR DISAPPEARED BETWEEN WHEN THIS WORK WAS WRITTEN AND WHEN IT IS READ. ISBN 978-1-119-03767-5; ISBN 978-1-119-03784-2 (ebk) Manufactured in the United States of America 10 9 8 7 6 5 4 3 2 1

Publisher’s Acknowledgments For general information on our other products and services, or how to create a custom For Dummies book for your business or organization, please contact our Business Development Department in the U.S. at 877-409-4177, contact [email protected], or visit www.wiley.com/go/custompub. Some of the people who helped bring this book to market include the following: Development Editor and Project Editor: Chad R. Sievers Acquisitions Editor: Katie Mohr Editorial Manager: Rev Mengle Business Development Representative: Susan Blessing

Custom Publishing Project Specialist: Michael Sullivan Project Coordinator: Melissa Cossell

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Introduction

A

cloud-based approach with a Platform as a Service (PaaS) platform that empowers you with the capability to rapidly develop applications can help unleash your developer productivity and creativity while delighting your customers and employees. In fact, recent industry research supports this claim by showing that 93 percent of the organizations that adopted a PaaS approach experienced improvement of development whereas 95 percent saw improvement in overall deployment of new applications. More than 50 percent experienced reduced development costs. Imagine the possibilities with a rapid application development approach that empowers you to



✓ Quickly create and deploy business applications that easily connect to all your data and aren’t limited by device or cloud



✓ Rapidly develop, deploy, and easily host web and mobile applications using a cloud-native, point-and-click, and drag-and-drop development approach



✓ Simplify the development, deployment, and management of business applications to improve graphical user interface (GUI)-style developer productivity



✓ Streamline the development and deployment of business applications to unleash the expertise of your technical business users, allowing them to co-create their own apps and proactively solve your organization’s most pressing challenges



✓ Free your GUI-style developers and technical business users to develop applications without worrying about infrastructure constraints or traditional development activities (such as build, compile, deploy, and version control)



✓ Let your GUI-style developers and technical business users get started with just a browser and an Internet connection

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

2

Rapid Application Development For Dummies



✓ Develop applications one time — for all your devices, including support for mobile-specific application experience without custom device code



✓ Adopt a model-driven approach to simplify application development that allows your business users to understand the business domain to develop the model and automatically generates the user interface based on the application model



✓ Leverage a consistent set of back-end application services as the basis for your cross-channel development (web + mobile + other form factors) To help your business meet today’s intense demand for applications, you need to understand the advantages of a PaaS approach. That’s where Rapid Application Development For Dummies, Progress Software Special Edition can help.

About This Book Talking about rapid application development and actually executing on it are two very different things. What if you could create applications in days instead of months? What if you could continuously and easily connect to all your data, without complex reconfigurations? And what if you could more easily manage and share your data? That’s where Rapid Application For Dummies, Progress Software Special Edition comes in.

Icons Used in This Book You’ll notice three icons designed to highlight special information:

Flagging a tip is akin to kicking you under the table to alert you so you don’t overlook something helpful.



This icon helps you remember these important tidbits and facts to store away for future reference.



This book was done in partnership with and on behalf of Progress Software. This icon highlights stories of how the Progress Software rapid application deployment environment has helped clients develop solutions more quickly and with less effort.

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 1

Your Foundation to Rapid Application Development: Just the Basics In This Chapter ▶ Understanding rapid application development with Progress Pacific ▶ Identifying today’s application development business challenges ▶ Realizing the value of a PaaS approach ▶ Taking your business to the next level

W

hen it comes to application development, slow and steady doesn’t win the race. Whether you’re an experienced developer or a technically savvy business user, you can benefit from adopting a rapid application development approach from today’s next generation of Platform as a Service (PaaS) from Progress Software. Progress Pacific is a cloud-based Platform as a Service (PaaS) that lets you quickly build and manage powerful business apps on the web, any cloud, or mobile device. Using the power of cloud services for rapid application development, the Pacific platform can help create new opportunities for you. Progress helps you use your existing IT investment and extend your applications to move your organization to the next level. This chapter serves as your jumping-off point into the world of rapid application development.

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

4

Rapid Application Development For Dummies

Riding the Waves of Change to Transform Your Business Technology is at the heart of the epic changes that people around the world are experiencing, including the way they connect, how they communicate, and the way they do business. The business arena is now global, 24/7, and highly competitive for the smallest piece of market share. Innovation is a key driver, but in business nothing remains static. As soon as you come up with one phenomenal idea, there’s pressure to anticipate what your company or your customers will want next. The same holds true for business applications. No sooner do you finish delivering a new app to the market, then the pressure is on to make it better, faster, and more competitive — and to then to come up with the next big thing.

To keep pace with today’s on-demand and increasingly connected world, companies need a simple way to create applications fast, without relying on deep technical skills, expensive IT resources, or long development projects. Applications must connect to critical information in real time. And to work seamlessly on the web or mobile devices, you need flexible deployment options. You can rely on cloud technology to help you meet and keep ahead of the demand to deliver more applications for your business. The rest of this chapter takes a closer look at what cloud technology is and how adopting this approach can benefit your organization in the rapid creation of apps.

Getting on Board with Cloud Technology You can forget about the old school development approach. PaaS is a cloud computing approach that offers businesses the foundation for a speedy application development solution. With its capability to provide infrastructure and software on demand, as a service, the cloud gets rid of the potentially slow and costly steps required to get software up and running. At the same time, a cloud approach helps reduce long-term maintenance and licensing costs while providing you with access to the latest software innovation.

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 1: Your Foundation to Rapid Application Development

5

PaaS adoption growing briskly Research firm Technavio projects that the global PaaS market will top $6 billion by 2016. The growth rate is projected to be more than 48 percent

per year for the next four years. Gartner valued the worldwide PaaS market at $1.2 billion in 2012, up from $900 million in 2011.

But building or migrating applications in the cloud can also be daunting. Often, doing so requires a significant investment in time and money to beef up infrastructure and developer skills for cloud migration. You can also get locked into one particular vendor and then find yourself unable to expand to new markets. And you can suddenly discover that the need to connect your application to a number of other systems outstrips your capability to keep up. The following sections explain what it means to use cloud technology, how cloud technology can help your business, how you can make your vision a reality, and how you can overcome potential challenges to build your apps.

Understanding the value of the Pacific platform The Pacific platform creates a whole new world of enterprise opportunities for you to pursue — all inspired by the unique capabilities of this new platform. But what is Pacific exactly? And how can it benefit you?

Pacific is a powerful cloud-based technology platform that can help dramatically reduce your total cost of ownership (TCO) — a financial estimate intended to help determine the overall cost — by streamlining your application development and simplifying your infrastructure. The Pacific PaaS offers on-premise solutions within the enterprise network, in the cloud (public, private, hybrid), or both — all while providing you development and deployment options.

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

6

Rapid Application Development For Dummies

Rapidly turning ideas into business reality The Pacific PaaS provides an agile, cost-efficient application deployment and development solution with high productivity and high control options — or both — for all types of developers, including business users. Pacific is comprised of the following key products (see Figure 1-1):

✓ Rapid application development with Progress Rollbase: You can develop and deliver web and mobile business applications with minimal coding in this cloud-based platform, reducing time to market. Rollbase enables rapid application development, making application creation significantly faster than with traditional software development methods. Business applications can go from idea to reality faster with innovative point-andclick and drag-and-drop tools in a standard browser, saving time and money while also providing deployment freedom. Rollbase is so intuitive that even if you’re not a traditional developer, it can empower you to develop and manage applications. (See Chapters 2 and 3 for more information.)



✓ Data integration with Progress DataDirect Cloud: Optimize your business applications with real-time, easy, secure connectivity to powerful data with this technology. You can gain access to sources of information, such as Salesforce and Microsoft Dynamics, through ­standards-based interfaces for use in your applications or favorite Business Intelligence reporting tools. DataDirect Cloud allows faster access and integration by managing the complexities of database connectivity so that you can focus on actually applying all of that valuable information to your business. (Check out Chapter 2 for more information.)



✓ Data management with Progress Easyl: This data management tool helps empower your business with datadriven decision making and significantly simplifies the process of reporting on your organizational data. With a design focused on simplicity and self-service, Easyl helps

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 1: Your Foundation to Rapid Application Development

7

users access, blend, and report on data, spanning many different business applications and data sources like CRM, purchasing, or a data warehouse, so that you can share, sync, and collaborate with other users without expensive data integration projects. (Head to Chapter 2 for additional information.)

✓ High-control deployment options with Progress Modulus: Progress Modulus provides hosted or private PaaS options for developers, enabling them to quickly and easily deploy, scale, and monitor data-intensive, realtime applications using powerful, rapidly growing Node. js and MongoDB technologies. MongoDB is the leading NoSQL database system and is designed for scalability, performance, and high availability.

Node.js is designed for easily building high-performing, scalable network applications using the ubiquitous JavaScript programming language. Through Modulus, Pacific gives you options regarding rapid application development and control platforms with easy-to-use integration between the two. This expands your development pool because it means that all your developers, regardless of their skill level, can participate in application development. They can choose whether to write custom code or use a visual development approach for any portion of their applications.

✓ Business rules management with Progress Corticon: Pacific also offers an industry-leading business rules management system. Corticon enables you to identify, automate, and deploy automated business rules and decision systems in collaboration with IT, without the need for expensive custom coding. (Go to Chapter 2 for more information.)



✓ Traditional application development with Progress OpenEdge: This proven technology is designed for traditional application development. Closely aligned with the Pacific suite of products, its database can be used for the backend for Rollbase. In addition, Rollbase and Modulus applications can leverage OpenEdge business logic and data for easy integration between new applications and existing OpenEdge applications. This book focuses on the Pacific platform components. To learn more about OpenEdge, visit www.progress.com/products/ openedge.

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

8

Rapid Application Development For Dummies

Figure 1-1: P  rogress Pacific PaaS components.



Pacific PaaS offers a fundamental new approach that gives businesses the freedom and the power to rapidly innovate with new cloud-enabled applications to drive business growth and expansion, increase revenue, and create differentiation from the competition. Pacific powers the rapid creation and deployment of robust business applications that are driven by data and unlimited by device or cloud. Pacific gives you the freedom to choose the data sources, deployment environments, and business logic that best fit your needs. In other words, Pacific lets you drive your business, not technology. Rollbase, part of the Pacific platform, is the technology that also allows you to build applications for any mobile device or cloud platform. For example, say that you’re a worldwide company building an inventory management system that must be available in all your facilities. In the United States, you could run that application on Amazon cloud. In Japan, you could deploy the application on an in-country public cloud. In Germany, you may want to run the application on a private cloud. With Pacific, you can build applications for any device and deploy, run, and manage the applications on any cloud platform.

Solving your biggest challenges with Pacific Pacific makes the entire process of developing, deploying, and managing applications simple. Pacific generates rich user interfaces automatically so you can concentrate on your app. Templates and drag-and-drop tools make things even faster, empowering both IT and business users to develop applications. Simplified connections to important information keep your application in tune with your business. These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 1: Your Foundation to Rapid Application Development

9

With Pacific, your business is never held back by technology. Developers and business users are able to dive right in and design, develop and deploy ideas, and innovate — all from one platform with very little, if any, coding. Pacific helps you tap into all your in-house thought leadership to differentiate your business in today’s competitive marketplace.

Comprehending the benefits of the Pacific platform The Pacific platform can help your organization realize the following benefits.

Accelerate time to market The advantage of a modern application development is the immediate capability to turn ideas into deployed solutions. Your customers and employees want to move from a “What if?” to a “Now I can” mind-set — today, not tomorrow. Pacific includes a rapid application development platform using model-driven development that works within a web browser. Using visual tools, both developers and business users can build web and mobile apps with pointing and clicking of predefined objects or chunks of information and then dragging and dropping — requiring as much as 80 percent less code.

Quickly and easily connect to mobile devices A simple one-click option enables you to mobilize your apps quickly for mobile web deployment. Or you can build mobilespecific apps for any device through an intuitive visual interface. Pacific allows you to publish your application to app stores for users to access in a familiar way. And with push notification technology, you can increase and enhance engagement with your mobile app users.

Easily access and connect to all your data sources Data isn’t everything — it’s the only thing that matters to users. With Pacific, your application can tap into most information sources available in the cloud or on-premise to develop automated, context-aware applications. It lets you rapidly connect to all your important data sources, no matter where they reside, through a single interface. Whether connecting to information in the cloud or on-premise or both, you

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

10

Rapid Application Development For Dummies can add new data sources without having to rewrite code. And you can do both securely, without having to break through the firewall.

Share and manage your data to improve and accelerate decision making You need to eliminate those individual silos of information held in various business units that make it difficult to analyze critical areas of your operations. With Pacific, organizations are empowered to easily access, share, and combine data with a self-service approach to data management. Pacific gives them what they need, right when they need it to quickly and easily build shareable reports from a wide variety of data marts. This integrated data offers you a 360-degree view of your customer, a more accurate measurement of your marketing execution, and insight into the pulse of your sales team to provide you the differentiation that you need to ignite your business.

Using a Proven Approach to Take Your Business to the Next Level Progress Pacific starts by assisting you on your cloud investment journey. With the company’s extensive history in application development, Pacific understands this investment and your desire to adapt applications based on your current infrastructure and current needs. Progress has a comprehensive road map designed to help you identify applications, and understand where they are today and prepare them for tomorrow. This journey requires planning and execution, which is where you can leverage the Pacific platform to maximize results with minimal impact. Figure 1-2 shows you the stages that applications go through in the journey from on-premise to the cloud.

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 1: Your Foundation to Rapid Application Development

11

Figure 1-2: E volving from on-premise to the cloud.

When partnering with clients, Progress uses a clearly defined strategy and outlines the road map to success, as shown in Figure 1-3. You can use this phased approach, regardless of where you are in your cloud investment journey.

Figure 1-3: T he cloud investment journey.

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

12

Rapid Application Development For Dummies

Dominating a ripe market by moving an ERP application to the cloud: FreshERP Imagine running a business that requires stocking and emptying a distribution center the size of five football fields every single day, or taking and filling orders all day across multiple countries on millions of pieces of produce, or managing a fleet of 250 trucks transporting millions of pieces of produce each week across Europe. That’s the reality for many of FreshERP’s customers, which include growers, cold stores, shipping companies, importers, exporters, wholesalers, and supermarkets. The company’s Fresh4Fruit ERP system enables these global distribution organizations to optimize their operations across purchasing, sales, warehouse management, logistics, and customer service. FreshERP recently migrated its successful 30-year old Progress OpenEdge-based ERP application to the cloud, using Progress Pacific to capitalize on the tremendous potential of the European SMB market and to attract new enterprise-level customers with features, such as mobility and Business Process Management (BPM). FreshERP is the first to offer a cloud-based solution to the industry and anticipates the change will have a dramatic effect on its business. With Progress Pacific, FreshERP looks for the following to happen: ✓ FreshERP expects to double its revenue by the beginning of 2015 as a result of using Pacific.

✓ The company has accelerated its time to market, migrating more than two million lines of code in just nine months with Progress Pacific versus using IBM and at ten times the reduced cost. ✓ FreshERP’s application can now run on any server or operating system, in the cloud, and on any mobile device — saving its customers significant time and costs. ✓ The organization is extending its footprint into new sectors and plans to dominate the small-tomidsized-business (SMB) market within the next couple of years. ✓ Companies can be up and running on FreshERP’s system within minutes versus months and at a much lower cost versus with its competitors’ on-premise solutions. Here’s what the owner and commercial director of FreshERP, B.V., said: “Progress Pacific offers the most complete platform for the development and management of processdriven applications. Progress is a one-stop-shop with a clear cloud focus, offering an entire solution stack  .  .  .  that we can leverage to continue to innovate our application and drive a competitive edge. . . . For us, Progress Pacific is like a vast ocean — wherever we want to go, Progress Pacific will take us there.”

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 2

Simplifying Rapid Application Development In This Chapter ▶ Examining Progress Rollbase ▶ Understanding cloud technology with Platform as a Service (PaaS) ▶ Exploring the ins and outs of Progress Direct Cloud ▶ Focusing on Progress Easyl ▶ Using Progress Modulus ▶ Driving decision management with Progress Corticon

T

his chapter explores the components of the integrated Progress Pacific platform, including Rollbase, DataDirect Cloud, and Easyl. Rollbase is the cornerstone of Progress Pacific and provides an easy-to-use, intuitive, web-based console that lets experienced developers or technically proficient business users rapidly build rich enterprise, web, and mobile applications. This chapter gives you a look at how easy it is to get started with Pacific to create powerful, data-centric applications that delight your customers. This chapter also looks at Progress Modulus and the high-control Node.js capabilities and the business rules management capabilities in Progress Corticon.

Looking At Progress Rollbase Rapid application development using Progress Rollbase gives you an integrated platform for creating, customizing, and sharing web-based business applications. Rollbase was designed from the ground up as a web-based application

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

14

Rapid Application Development For Dummies platform for Independent Software Vendors (ISVs) and enterprises, as well as departments and groups within larger organizations. Rollbase applications run online in one integrated environment, sharing a common security model, data model, and user interface. Any number of users in your organization can access — anytime, anywhere — Rollbase as a development platform and Rollbase applications. You don’t have to buy or install any hardware or software. The only technical requirements that your organization needs are an Internet connection and an up-to-date Internet browser.



Getting started is easy. The Progress Rollbase Application Directory provides an online exchange where you can browse, test drive, and install basic, prebuilt applications and application templates. They include a comprehensive CRM system, a full suite of integrated HR applications (for managing employees, paid-time-off requests, assets, travel requests, and expenses, courses and classes, policies, and violations), and a bug-tracking system — and others are continually being added.



After it’s installed, you can customize any Rollbase application to meet your specific business needs, using easy-to-learn drag-and-drop and point-and-click tools. After you become familiar with Rollbase, you can use these same tools to build your own custom applications from scratch, all without leaving your browser. By design, Rollbase helps further streamline the development process while offering you flexibility and customization options when building robust applications, including the following features:



✓ Customizable UI (pages, menus, and portals)



✓ Reporting (views, reports, charts, and gauges)



✓ Workflow (triggers and actions)



✓ Data integration (Simple Object Access Protocol, or SOAP, and Representational State Transfer or REST application programming interfaces or APIs)



✓ Security and access control (roles and permissions)



Progress offers Rollbase outside the Pacific platform as well for both hosted and private cloud environments. Private

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 2: Simplifying Rapid Application Development

15

cloud users install Rollbase development and runtime components on their own network. Visit www.progress.com/ rollbase for more information or call 800-477-6473 for more information. These sections take a closer look at PaaS and Rollbase and Rollbase Mobile and how they can benefit your organization.

Getting the 4-1-1 on PaaS Progress Rollbase exemplifies Platform as a Service (PaaS), where software infrastructure is provided as on-demand web-based services. Some PaaS offerings enable programmers to build applications, without having to worry about buying or managing any hardware or software other than their own. Rollbase takes PaaS to a new level with its easy-to-use GUI, allowing you to strategically enable all your developers, including experienced and your less experienced citizen developers (those developers who are less proficient in coding as well as technical business users) to build and deploy custom web-based applications in addition to these services without necessarily writing much, if any, actual code. Rollbase allows your business to focus on providing business value to your users. It relieves you of the expensive, complex, and time-consuming tasks of managing the underlying software and infrastructure.

Going mobile Progress Rollbase Mobile is a tool for the development of both web-based and mobile business applications. Using an integrated, model-driven authoring environment, your company can enable your customers to deliver exceptional mobile user experiences. The following are some of Rollbase Mobile’s features:

✓ Develop apps in a class development environment. You can leverage a single integrated platform through a web browser to build the application model and web user experience using a drag-and-drop and point-and-click development environment. Progress Rollbase Mobile

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

16

Rapid Application Development For Dummies automatically generates all the back-end services that are needed to support your mobile app.



✓ Utilize the device-independent Mobile App Builder. You can build mobile front-end applications compatible with iOS, Android, and other operating systems because the Mobile App Builder is completely integrated in the Progress Rollbase environment. You also can customize your applications to support standard technologies, such as HTML5 and JavaScript.



✓ Leverage existing assets. Progress Rollbase Mobile automatically generates the application services that form the foundation for your mobile applications. For existing assets and applications, you can leverage web services and JavaScript Data Objects for easy interaction from your mobile client.



✓ Add complex business logic. Take advantage of business logic that is hosted by Progress Rollbase Mobile or leverage existing back-end services. For more complex application logic requirements, use an open standards-based development language (JavaScript).



✓ Improve user satisfaction. Add simple data integration to an even wider array of data sources. Now you can push notifications to your application users and message an individual or an entire group of users based on business rules you set. You can also empower users to collaborate and report on their own data using Progress Easyl. (Refer to the later section, “Grasping the Basics of Easyl,” for more information on Easyl.)



✓ Use hybrid apps. Support various types of apps without writing device-specific code. Build HTML5 or native applications. You get a rich user experience and choice of deployment options, including the capability to post in Apple and Android stores — without the hassle of building the same app over and over again.



Rollbase Mobile gives your organization the following benefits as well:



✓ Easily assemble, deploy, and manage mobile applications — including the entire application infrastructure.



✓ Leverage on-premise and cloud-based data sources as the foundation for your mobile apps.

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 2: Simplifying Rapid Application Development

17



✓ Build powerful, visually compelling apps using a visual developer and standard technologies, such as HTML5 and JavaScript.



✓ Support HTML5 applications or native applications using a hybrid architecture that eliminates costly device-­ specific coding.



✓ Provide an intuitive, native mobile experience using a hybrid architecture that eliminates costly, device-specific coding.

Knowing What Progress Data­ Direct Cloud Is All about Part of the Pacific portfolio, Progress DataDirect Cloud provides easy, lightning-fast connectivity to all your data sources, including SaaS apps, big data stores, relational databases, and more, using a single Open Database Connectivity (ODBC) or Java Database Connectivity (JDBC) driver, or an Open Data protocol (OData)-based API.

DataDirect Cloud is instantly compatible with your business applications so there’s no configuration hassle. With its single programming interface that eliminates the need to manage a variety of ever-changing APIs, developers pick up speed and range. Business users can get the data that they need for complex issues, as they need it. In other words, DataDirect Cloud manages the complexities of database connectivity so you can focus on actually applying all that valuable data to enhance the value of your applications. The following sections examine how DataDirect Cloud can ease data connectivity and the different ways for connectivity.

Simplifying your data connectivity DataDirect Cloud simplifies access to virtually all your data managed by cloud services, such as Salesforce.com, Oracle RightNow, Apache Hadoop, and Oracle Eloqua, as well as your on-premise data, regardless of the source. This capability

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

18

Rapid Application Development For Dummies becomes crucial when, for example, your organization needs to use a reporting application to predict travel budgets by analyzing travel data stored in the cloud or needs to analyze data for forecasting sales revenue from your CRM application. As shown in Figure 2-1, DataDirect Cloud delivers fast connectivity to a wide range of data sources — all with simple configuration instead of extensive coding.

Figure 2-1: D  ataDirect Cloud components and how they provide access to cloud data.

Identifying components and connectivity options DataDirect Cloud includes the following components and the different ways to connect:

✓ The cloud connectivity service: It provides access to the cloud data store. The connectivity service abstracts the source from the target of the data, which allows you to add target applications or swap them without changing the cloud data store or the application using cloud data.



✓ The optional on-premise connector: This feature allows you to access data securely for supported data stores on your local network without opening ports or otherwise reconfiguring your firewall. The cloud drivers manage

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 2: Simplifying Rapid Application Development

19

communication between your applications and the cloud connectivity service:

✓ Progress DataDirect Cloud Driver for JDBC: This Type 5 JDBC driver enables Java applications to interact with any supported data store and delivers the fastest, most scalable performance.



✓ Progress DataDirect Cloud Driver for ODBC: This driver enables applications using ODBC to interact with any supported data store and delivers the fastest, most scalable performance.



✓ OData service: For mobile and web applications requiring web services, this service is available. OData is a data-access protocol initially defined by Microsoft. Versions 1.0, 2.0, and 3.0 are released under the Microsoft Open Specification Promise. Version 4.0 is being standardized at OASIS and was released in March 2014. This protocol is designed to provide standard CRUD access to a data source via a website. It is similar to JDBC and ODBC although OData is not limited to SQL databases.



DataDirect Cloud offers standards-based connectivity to a wide variety of applications, databases, and platforms. It connects your dashboard, analytics, and ETL directly to your data, including (as of August 2014):



✓ ADABAS



✓ IBM DB2



✓ Apache Hive



✓ IMS/DB, IMS/TM



✓ Cassandra



✓ Informix



✓ Clipper



✓ Microsoft Dynamics



✓ Database.com



✓ Microsoft SQL Azure



✓ dBase





✓ FinancialForce

✓ Microsoft SQL Server



✓ Force.com applications



✓ MongoDB



✓ MySQL



✓ Greenplum



✓ Natural



✓ Hadoop



✓ Oracle DB



✓ HubSpot



✓ Oracle Eloqua



✓ IBM CICS



✓ Oracle RightNow

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

20

Rapid Application Development For Dummies



✓ PostgreSQL



✓ Sybase



✓ Progress OpenEdge



✓ Teradata



✓ Progress Rollbase



✓ Veeva CRM



✓ ServiceMAX



✓ VSAM



✓ SQLBase

Grasping the Basics of Easyl Progress Easyl, also part of the Pacific platform, is a new kind of cloud-based data integration tool that empowers your business to break open data silos, overcome integration challenges, and combine and present data in meaningful and compelling new ways. Easyl is a self-service approach that, through a web-based console, gives you direct access to all the data that lives throughout your organization, wherever it resides. Easyl brings it all together to dramatically simplify the process by accessing, cleansing, blending, and then reporting on it.

Easyl puts the power of data management, integration, and collaboration into the hands of business professionals throughout your organization. More specifically, Easyl enables you to collate accurate, timely data to populate today’s powerful visualization and reporting tools. It lets you create and deliver accurate, effective reports and analytics to ensure that your marketing and sales organizations run efficiently as a fully accountable business — performance, financial management, strategic planning, marketing resources, and skills assessment. Easyl helps give you an in-depth view of your campaigns, identify key trends from your prospects, and track the full progression from lead to close. Easyl also can assist marketing and sales operations teams use data integration and data sharing to assemble compelling reports and help them achieve their numbers. Refer to Figure 2-2 for a snapshot of Easyl.

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 2: Simplifying Rapid Application Development

21

Figure 2-2: T he components of Easyl.

Choose from the following solutions to discover how Easyl can solve your most daunting of data management challenges:

✓ Easyl Solutions for Marketing Operations: You can get a 360-degree view of your campaigns, identify key trends from your prospects, and track the full progression from lead to close. Easyl can help your marketing operation use data integration and data sharing to assemble meaningful reports quickly to help them achieve their numbers.



✓ Easyl Solutions for Sales Operations: You can shine a light into details about your key accounts, track the effectiveness of your team, and measure the sales forecast and pipeline contribution by campaign. Easyl can help your sales operation team function at full potential with the power of data integration and data sharing.



✓ Easyl for ISVs: You can build reports that span tenants or provide your customers with the self-service reporting that they need. Your application is just one of many that your customers use. With Easyl, you give them the tools that they need to correlate data and build reports from across their entire application infrastructure. Easyl can help ISVs delight their customers and build new streams of revenue.



✓ Easyl Solutions for Customer Support Operations: You can highlight key customer issues, analyze ticket resolution times, and identify problems before they become escalations. Easyl can help your customer support team leverage data integration and data sharing to improve customer satisfaction levels.

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

22

Rapid Application Development For Dummies

Eyeing Progress Modulus Progress Pacific offers the Modulus platform as a hosted service. Enterprises can also deploy it in public, private, and hybrid clouds as well as in an on-premise infrastructure. Modulus Enterprise is the first and only enterprise Node.js PaaS available as a licensed product, allowing businesses and ISVs to deploy next-generation apps faster and at a lower total cost. With Modulus, your organization can spend more time creating and modernizing apps and less time worrying about deployment infrastructure. JavaScript usage and demand is increasing faster than any other language, in no small part from the growing popularity of Node.js as well as popular user interface (UI) frameworks like jQuery. In fact, JavaScript is a ubiquitous language, well known by millions of developers. Node.js applications are written in JavaScript, a fully functional programming language, and can be run within the Node.js runtime on OS X, Microsoft Windows, and Linux with no changes. Node.js is a server-side runtime that compiles and executes JavaScript at high speeds and is well suited for real-time, data-intensive apps and APIs.

The Modulus Node.js and MongoDB cloud platform is designed to simplify and speed development of the new generation of scalable, always-connected business and consumer apps that are constantly monitored and optimized for the best experience. The Modulus platform is ideally suited for realtime mobile, SaaS, social, and big data apps that run across distributed devices and can seamlessly handle floods of data requests with built-in performance monitoring and analytics. Progress Modulus provides hosted or private PaaS options for developers, enabling them to quickly and easily deploy, scale, and monitor data-intensive, real-time applications using powerful, rapidly growing Node.js and MongoDB technologies. MongoDB is the leading NoSQL database system and is designed for scalability, performance, and high availability. As a result, Node.js is a natural fit for building custom API serv­ ices, integrations, messaging frameworks, and independent UI backends. Benefits of developing with Node.js include the following:

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 2: Simplifying Rapid Application Development

23



✓ It allows you to separate the back-end UI layer from the back-end business logic, giving front-end developers maximum control and flexibility to work in the framework of their choice.



✓ It provides a scalable framework for messaging by managing real-time, two-way communication with thousands of concurrent connections between any types of clients and services.



✓ It enables developers to build new API services and integrations with other Internet-enabled products and APIs. The components and add-ons to the Pacific platform support Node.js development efforts. Rollbase is a natural fit to serve as a powerful Backend as a Service (BaaS) for Node.js applications. DataDirect Cloud (using APIs) can be used as a way to integrate with disparate cloud and on-premise data sources in Node.js applications. Using its APIs, Progress Corticon business rules management can be used as a complex decision service engine from Node.js applications. In effect, Node.js serves as the central glue for tying technologies and applications together in a highcontrol platform. Figure 2-3 shows you how it all works together.

Figure 2-3: N  ode.js ties together underlying technologies and applications in a high-control platform.

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

24

Rapid Application Development For Dummies

Getting an Overview of Progress Corticon Progress Corticon enables you to automate your business rules so your organization can make better, faster decisions. It does so by separating business logic from the application code, resulting in improved agility and reduced time-to-market by empowering business users (as well as IT) to directly implement and modify rules outside the application — freeing your IT resources to focus on innovation rather than custom coding for rules. More than 500 customers use Corticon’s patented no-coding rules engine to automate their most sophisticated decision processes, reducing development and change cycles by up to 90 percent.

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 3

Using Rollbase for Application Development In This Chapter ▶ Implementing Rollbase ▶ Creating, editing, and deleting an application ▶ Retrieving and accessing data ▶ Transferring data

R

ollbase uses a model-driven development approach for application development. Objects in Rollbase are application building blocks that capture and store data in chunks, eliminating much of the need for coding. Objects are also customizable so you can add more fields as needed. And you can easily define relationships between objects. For example, a single sales request in a sales support application could require multiple sales resources, so you can choose a “many to one” relationship. This flexible building-block approach combined with an easy-to-use interface accessible by a browser simplifies the application development process. This chapter explains how you can find your way around Rollbase, essential information about the Quick Create Wizard, how to customize your application to meet your needs, and how to distribute your applications.

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

26

Rapid Application Development For Dummies

Deploying Rollbase: The Basics The fastest way to get started with Rollbase is to log in through the console and become familiar with the user interface. The Quick Create Wizard (the official name for the Rollbase application creation shortcut) walks you through the steps to build an application foundation. After you have explored the interface, I recommend that you install prebuilt applications from the Application Directory, take a tour of the apps, see how the user interface (UI) works, and go from there.

You can get additional information, including videos, at www. progress.com/rollbase. You can access Rollbase hosted cloud at www.progress.com/rollbase using a computer running one of the following operating systems: Windows, Linux, or MacOS. All you need is an up-to-date web browser with JavaScript and cookies enabled. Progress recommends the following browsers:



✓ Internet Explorer 9.0 +



✓ Firefox 21 +



✓ Google Chrome 27.0 +



✓ Safari 6.0 + Rollbase protects web-browsing sessions with HTTPS and SSL. With HTTPS, Secure Socket Layer (SSL) technology protects your information using both server authentication and data encryption, ensuring that your data is safe, secure, and available only to registered users of your account. Depending on the browser, a lock icon displays in the address or the status bar to verify that you’re accessing the Rollbase service via HTTPS.

Setting up your account The first person to sign up for Rollbase from a particular organization becomes an administrator. During the sign-up process, this user provides information about your organization that is stored in the account. Administrators can do the following:

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 3: Using Rollbase for Application Development

✓ Create new users



✓ Install applications from the Application Directory



✓ Customize applications for specific business needs



✓ Create entirely new applications

27

Any Rollbase user with the administrator role has full access to all of these features, as well as to all data in the account. Administrative users can also purchase additional user licenses, upgrade to another Rollbase subscription plan, add more capacity for records, applications, storage, and more.

Obtaining your Progress ID A Progress ID registration is required for the first administrative user and is free. Visit www.progress.com/rollbase, click Try Now, select either Hosted or Private Cloud, and follow the steps to create the account.

Logging in Both administrative and other users receive a confirmation email with a temporary password and a login URL. Logging in requires a user ID and password.

Progress recommends that you change your password periodically to protect your account. Administrators can require that passwords meet certain criteria, such as length and inclusion of numbers.

Using user navigation Rollbase is the application Platform as a Service (PaaS) within Pacific that enables the building of web-based applications. When you log in, you’ll see that it’s available from the Applications drop-down menu. Using the Progress Rollbase web-based user interface, you can develop and distribute applications and search, navigate, and enter data.

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

28

Rapid Application Development For Dummies

Accessing application settings You can manage your applications from the Application Setup area. To access the Applications Setup area, follow these steps:

1. In the Applications section of the Rollbase Sidebar, click the down arrow and select Setup from the drop-down list.

Doing so displays the Setup page.

2. On the Setup page, click Applications Setup.

Doing so displays the Applications Setup page.

3. On the Applications Setup page, click Applications.

This step displays the Application Setup ➪ Applications page.

4. Click the name of an application to display the details for that application, such as its objects, tabs, and portals.

Developing an Application on Rollbase Rollbase can help you develop your application easier than you may think. These sections describe the key steps to create an application in Rollbase.

Creating an application You can create new applications in the following ways:

New Application button The New Application button below the Applications dropdown list allows you to quickly create applications by a variety of methods:

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 3: Using Rollbase for Application Development

29



✓ Use the Quick Create Wizard, where you’re guided through a step-by-step process of creating objects, fields, and relationships.



✓ Install an application template from the App library.



✓ Use external data from sources such as spreadsheets, Force.com, Microsoft Access, or OpenEdge.



✓ Use existing objects (objects are chunks or pre-existing modules of data).

Setup application From the Setup application, you can create a new application that uses existing tabs and objects in it. To create a new application from the Setup application, do the following:

1. From the Applications dropdown list, select Setup.



2. In the Applications Setup area, click Applications.

Doing so displays a list of existing applications.

3. Click New Application.



4. In the Deployment Status section, select or deselect the appropriate boxes.

You can select or deselect the following boxes depending on your preferences:

• This application is deployed: Deployed applications are available to both administrative and non-administrative users. You may want to leave an application undeployed until you’re ready to expose it to your end users.



• This application doesn’t appear in the Sidebar selector: Specifies whether or not to show this Application in the “Apps” sidebar component in the Deployment Status section.



• Enable field-level help for this application: Whether or not to display field-level help for any Object Fields in this application that have fieldlevel help defined.



• Show first level of menus below tabs: It provides an option to display the first level of menu items underneath the tabs.

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

30

Rapid Application Development For Dummies



5. In the Application Details section, fill in the following fields:



• Application Name: This name is in the Applications drop-down (if enabled) and in the navigation heading.



• Description: This optional description is shown if you publish the application.



• Custom Logo: This is a logo in GIF, JPG, or PNG format to replace the Rollbase logo in the top-left corner. Use an image that is 212 pixels wide by 53 pixels high.



6. Add any existing components to your new application.

The Tabs, Core Objects, and Dependent Objects sections give you the opportunity to add existing components to this new application. You can specify the order in which tabs appear.

• To add a component, select it from the Available list and click the right arrow to move it to the Selected list.



• To reorder tabs, click the up or down arrow to the right of the list.



7. In the User Roles and Individual Users section, specify the permissions for this application.



8. Click Save.

Editing an application You can modify applications from the Setup application in two ways:

✓ View all application components and edit them by category.



✓ Edit the same attributes and properties set when the application was created. The following procedures describe both:



1. From the Applications dropdown list, select Setup.

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 3: Using Rollbase for Application Development

31

2. In the Applications Setup area, click Applications.

A list of existing applications displays:

3. Find the application of interest and do one of the following:



• Click the application name to view all application components.



• Click Edit to change attributes or properties set when you created the application.

Deleting an application Deleting an application has the following consequences:

✓ All objects (and corresponding data records) that are assigned to the deleted application and aren’t assigned to any other application will be permanently deleted.



✓ All menus, portals, and hosted files that are assigned to this application and aren’t assigned to any other application will be permanently deleted.



✓ The application record will be permanently deleted.



You can’t delete System objects while deleting an application because doing so will cause an error. To avoid accidental deletion of important information:



✓ Before deleting an application, you must edit it and deselect the Is Deployed box.



✓ Wait for one hour and then delete your application.

Considering other app options The More Actions button on the application view page (Navigate to Setup ➪ Applications, and click the Application Name) offers additional options to manage your application. The following sections examine these options in greater detail:

View Diagram The View Diagram option provides a convenient way to visualize your application’s objects and the relationships among them. This option becomes particularly useful when you’re

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

32

Rapid Application Development For Dummies designing sophisticated applications involving many objects and relationships. This option can also be useful to look at as a reference tool during the application development process and as a tool to understand how an installed application was built. Clicking on this button opens a pop-up window that contains a dynamically generated graphic representing the application. This graphic is generated by a free service called yuml.me (www.yuml.me) and may take a few moments to load. For example, Recruitday Application is available in the Rollbase Application directory to help get you started.

Application Tree This option allows you to view all the application’s components in UI tree in a pop-up window.

Generate XML This option allows you to generate and save an XML representation of your entire application. With this XML, you can install the application into another Rollbase Customer using the “Install from XML” option on the Setup ➪ Applications Setup ➪ Applications page. It allows you to bypass the shared Application Directory portal. To generate the XML for an application, you need to do the following:

✓ Export the version of application as XML. This value is auto-incremented each time you generate new XML.



✓ Use the Lock Status radio buttons to choose whether Users in destination tenants can:



• Modify all parts of the installed application (unlocked)



• Modify only unlocked objects, menus, and portals (partially locked)



• Modify nothing; the tenant can’t customize the entire application (locked)



If your application has some inconsistencies or errors, you won’t be able generate its XML.

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 3: Using Rollbase for Application Development

33

The application XML for complex applications can be as large as much as 5MB or more. To save the application XML as a local file, choose Save or Save As when you’ve opened the XML for viewing.

Update from XML Use this option to upload a Rollbase Application XML file and install updates.

Performance Audit Use the Performance Audit screen to:

✓ Validate all formulas used by your objects and display errors (if any).



✓ Check and see if your formulas are using loops (a loop is a sequence of instructions that is continually repeated until a certain condition is reached) through related records. If so, replace them using Query API whenever possible.



✓ Check whether your Views are using the Template and Formula fields (which can decrease performance).

Custom Sidebar You can add a custom sidebar component to your application. This component will appear under the Application section on your sidebar. To add the Custom Sidebar component, open the Application View page and select Custom Sidebar from the More Options drop-down list. Then specify the component’s title and body (HTML or JavaScript). You can use system-wide settings or other template helpers. You can also copy the web link to a widget such as Google Gadget or from other providers, such as Yahoo!.

Associating Custom Sidebar with your application ensures that this component will be published and installed with your application.

Custom Header and Footer You can specify HTML to be added at the beginning and at the end of each page of the application. You can also include template tokens not related to particular object (often referred to as helpers). These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

34

Rapid Application Development For Dummies Application Header and Footer offers a convenient way to add JavaScript to every page. Consider using Hosted Files to simplify this process further.

Mobile-Web Enabled Use this option to enable a Mobile-Web application for mobile devices, such as iPhones and Androids. After it’s enabled, select all the menus you want to make available on mobile devices. Progress Rollbase provides two mobile app options:

✓ Mobile Web



✓ Rollbase Mobile

Translation You can generate Excel spreadsheets and translate your entire application into a foreign language with this option.

Attach String Tokens You can attach selected String Tokens. In Java, it’s common to have to separate a string into separate tokens. These tokens can be words, numbers, commands, or whatever. Attached String Tokens will be published and installed as part of application.

View Installation Log This option allows you to see the log created when applications are installed.

Installing updates To update applications you have installed from the Application directory, as well as any default applications that came with your Progress Rollbase account, use the Check for Updates button on the Application Page. Click this button to check for any updates to the application. When you do, you’ll be taken to the Rollbase application directory page for that application, where you can see a button called Install Updates if a newer version is available.

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 3: Using Rollbase for Application Development

35

Below this button you can see a check box called Overwrite Changes. By default, this check box isn’t checked, because Rollbase assumes that you may have made changes to pages, views, triggers, and so forth in that application. If so, you probably don’t want to overwrite those changes. If you want to receive all the changes to pages and other application components, you can select Overwrite Changes.

Select it if you want to overwrite existing application components with the latest updates. If you don’t select it, you’ll only receive new application components included in this update. You won’t receive any updated components. For example, leaving this box deselected means you won’t receive any changes the publisher made to existing fields, pages, views, templates, portals, or portal pages; you only receive new components the publisher created.



If you’re an application publisher and Rollbase ISV partner, you have the capability to push new versions of applications to all your customers at once from your ISV account.

Managing permissions You can manage permissions to all aspects of an application by role and by user. User-level application permissions override role-based permissions, allowing you to provide additional access control on a user-specific basis. In addition, Rollbase provides relationship-based permissions as well as role-based Field-level permissions. For a complete overview of managing Applications, click Permissions and Access Control.

Accessing Data with Rollbase Data integration is an important part of the management of information in your environment. Utilizing the accurate, effective tools for this data access is essential for applications to work correctly and provide accurate information for the desired result. The Pacific platform provides integration for multiple data sources as well as the capability to connect to data via APIs. These sections highlight the different ways you can use the Pacific platform to access data.

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

36

Rapid Application Development For Dummies

Integrating with SOAP or REST When building integrations or external data manipulation tools that need to communicate with Rollbase, you can use the Rollbase SOAP or REST APIs. The SOAP and REST APIs expose the same functionality and use the same method names. A metadata API for both SOAP and REST provides methods for creating and manipulating definitions of applications, objects, fields, and relationships. The account under which metadata methods are invoked must have administrative privileges.

Using the SOAP API Rollbase uses Literal WSDL encoding. If your SOAP infrastructure doesn’t support Literal WSDL encoding, consider using the REST API. To make SOAP calls, you must have a valid Rollbase user account with login credentials. API users must have permission to view, create, update, or delete records to perform these actions via API calls. Permissions can’t be set via the API. Only the administrator can set them using the Rollbase user interface in the setup area. The Rollbase SOAP API uses the same workflow mechanism as the standard Rollbase user interface. For instance, triggers designed to run on object record creation will run if a record is created through SOAP API. The Rollbase SOAP API uses the same permissions mechanism as the standard Rollbase user interface. Changes in triggers, views, and so forth might not immediately be updated on the web services server because of latency due to caching. To establish a SOAP API session, call the login() method, which takes username and password credentials. The login() call returns a session ID that must be used as the first parameter in all subsequent API calls. To end a SOAP API session, use the login() method.

To protect Rollbase resources from overuse, the number of API calls is limited. The number of calls, also referred to as hits, is posted incrementally over a 24-hour period for each Rollbase customer and then resets the next day. The type of your subscription determines the actual number of API hits allowed. You can find this information in the Subscription

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 3: Using Rollbase for Application Development

37

Details page. You should contact Progress Rollbase Support if you need to increase this limit for any reason.

Authenticating with REST API REST calls require authentication and are subject to the same security procedures as normal user logins, including IP address whitelists (a list or register of those that are being provided a particular privilege, service, mobility, access, or recognition) and external authentication rules. Using this API requires a valid Rollbase user account with login credentials. The account must have permission to view, create, update, or delete records to perform these actions using REST calls.

Permissions can’t be set via the API. Only the administrator logged into a Rollbase account can set them.

Supplying user credentials You can provide user credentials in one of the following ways:

✓ By using a session ID: Call the login AP with valid credentials to receive a session ID. Supply that session ID in every REST call as an HTTP header or URL parameter. At the end of session call, log out to end the REST session. For example, this PHP code sets the HTTP header: header('sessionId: '.$sessionId); this example passes the session ID in the URL:&sessionId=1776eb2 d56384f2d9d62f1bf83821b6d@5857.



✓ By providing basic HTTP authentication through the HTTP header. Append @ and the customer ID to the login name. A PHP code example: $header = base64_enc ode($userName.'@'.$custId.':'.$password); header('Authorization: Basic '.$header); Private cloud master server users with login permissions can use their credentials to call the REST API on a specified customer. REST API calls using a session ID or basic authentication are considered to be made on behalf of the logged-in user. Permissions of that user are checked for each subsequent call. For instance, to update a record logged-in user must have edit permissions on that record, or the API call will fail. Use of a session ID is preferred in terms of performance and security.

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

38

Rapid Application Development For Dummies

Changes in triggers, views, and the like might not immediately affect the REST server because of latency due to the caching mechanism.

Migrating Apps to Rollbase Rollbase supports migration of the majority of today’s industry-leading application platforms, including Microsoft Access, Salesforce.com, Force.com, and more. Many existing Salesforce and Force.com customers are looking for more flexible alternatives to the Salesforce.com platform and need to migrate all or a subset of their existing applications to Rollbase.

If you’re a Salesforce or Force.com customer, you’ll be pleased to know that Rollbase is the only cloud platform that allows you to move your Salesforce.com CRM and other Force.com applications off the Force.com platform in a just a few clicks. These sections walk you through the easy migration process from a Salesforce.com CRM to the Rollbase platform.

The Wizard makes application migration easy Importing your Salesforce.com CRM application and all of your data to your own custom Rollbase CRM application is easy because it’s completely wizard driven. In just a few simple steps, Rollbase creates a CRM application with all your Salesforce.com objects, including custom fields, relationships, page layouts, and data. The process is identical for any Force.com application and your data. Simply stick to the following steps, and Rollbase creates a custom application with all your Force.com application’s objects, including custom fields, relationships, page layouts, and data.

Rollbase can’t convert APEX and SQL code for you. Some formula fields and components with custom code may not work in Rollbase without modification.

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 3: Using Rollbase for Application Development

39

Migrating your app to Rollbase in five easy steps In order to migrate your application to Rollbase, just follow these helpful steps that walk you through the process:

1. Register a ProgressID in order to be able to access the Progress Pacific and Rollbase environment.

Simply go to www.rollbase.com and sign up for a free evaluation by clicking Try Now. Doing so takes you to a page asking you for basic information, including a username and password. Within a few seconds, you should receive a welcome email allowing you to access and log in to the Pacific console and begin developing applications with Rollbase.

2. Build a new application based on your Force.com application.

To do so,

• Click on the Create Application button, which will fire up the Create Application Wizard. You want to import external metadata from an existing application so select this radio button.



• Click Create. You want to import from an existing Force.com application so select this radio button.



3. Import your Force.com application.

Doing so takes three steps:

• Log in to your Salesforce account and select the application that you want to import. For this scenario, select the Sales or CRM application.

During migration, Rollbase preserves relationships between objects and data. As part of the process, Rollbase will import not only the objects and their respective fields that make up the application, but also the relationships between the objects and the data itself. For example, if you look at the data available for a contact named Jane Smith, you may see she is associated with an account named University of USA. The import process will ensure this relationship is preserved when migrating the metadata into Rollbase. These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

40

Rapid Application Development For Dummies • Retrieve a security token to include with your credentials. You can do so by going to My Settings ➪ Personal ➪ Reset My Security Token in Salesforce. For this step, you need your Salesforce API credentials together with a security token. The token will subsequently be emailed to you. After you get it, copy the security token and click Next.

The wizard allows you to import not only standard, but also any custom objects that have been created for the application. Select the objects you need and click Next.

• Review the structure of the imported metadata. If you take a look, you can see that Rollbase will import and create a new application called Sales. The Sales application will have a series of tabs that correspond to the objects that were selected in the preceding step.

If you expand out the Campaign Object, you can see the fields associated with the object. You can get rid of any of these if you don’t need them in your new Rollbase application.

4. When you’re satisfied with the structure of the metadata, simply click Create to get Rollbase to build a brand new sales application.

Within a few seconds, Rollbase will create the new application. And now it displays on your list. After the data records have been successfully imported, you’ll receive an email confirmation.

5. Review the imported application.

Take a look at the imported application. Here you can see all the tabs associated with the objects marked for import. If you click the Contacts tab, you can view the data. The layout looks exactly like it displayed in the Salesforce application. The import process not only retains the page layout, but also retains the relationships for each record, which you can see if you click on the account details. The data and layout look good, and from here you can also see other relationships that were part of the original Salesforce application (such as current and prospective opportunities and so forth).

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 3: Using Rollbase for Application Development

41

Using the cloud for healthcare solutions: The HealthStore Foundation Globally, 21,000 children die each day — half of them in Africa — and two-thirds of them because they lack access to quality medical care and essential drugs. Rather than focusing on traditional charitable activities to address this challenge, The HealthStore Foundation, through its Child and Family Wellness (CFW) franchise network in Kenya, has sought to create a grassroots infrastructure to improve access to essential drugs, basic healthcare, and preventive services using business models that maintain standards, are geometrically scalable, and achieve economies of scale. A crucial element to delivering on this ambitious vision has been CFW’s capability to manage and access crucial information when and where it needs to about patient history, financial information, inventory data, and more. Using a mobile touchscreen IT system based on the Progress Pacific platform, CFW has replaced manual processes for collecting, transcribing, and communicating data across its dozens of clinics, headquarters, suppliers, and others with an automated cloud-based process. The results have been life changing. With Progress Pacific, CFW allows The HealthStore Foundation to do the following:

✓ CFW now has fast and reliable access to data on patient visits, morbidity statistics, inventory levels, and financial performance. ✓ The organization can now gather rich insights on consumers and on healthcare in opaque, fragmented environments. ✓ The organization can improve patient care dramatically with the capability to access and analyze granular transactional data about individual patient histories across all of CFW’s sites. ✓ The information CFW gathers helps local Ministry of Health officials better understand the health needs of the population so it can develop strategies for finding and treating lowestincome patients — those most in need of care. Foundation CEO Greg Starbird said, “Baking this technology  —  technology made possible by Progress Pacific — into the operating system of a respected franchise represents a radical shift for those at the base of the pyramid who desperately need improved access to healthcare.”

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

42

Rapid Application Development For Dummies In the space of a couple of minutes, you have successfully migrated an existing Salesforce application together with its associated data into Rollbase. Now you can begin to leverage the power of Rollbase to create new records and customize the interface, including using the page editor to change the layout of the screen and add new fields if needed.



Try a free trial evaluation. Sign up for a free Rollbase evaluation today at www.progress.com/rollbase and select Try Now and move your Salesforce applications to the power of the Rollbase platform. For more information, call 800-477-6473.

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 4

Accessing Your Data with Progress DataDirect Cloud In This Chapter ▶ Entering the cloud data store ▶ Developing your apps with Rollbase Mobile ▶ Keeping track of data with Easyl ▶ Using Corticon for your business rules

I

ntegrating your data sources is essential because your data defines and differentiates your business — and is key to building data-centric applications. With fast and easy access to your data, including those housed on the web, social media, and in your databases (whether on the cloud, on-premise, or both), you can easily leverage your data, speed the development process, and gain deployment flexibility. Progress DataDirect Cloud provides a flexible, open platform that delivers unified, quick access to multiple data sources through the cloud data store, without the need for complex coding. This chapter walks you through the steps in DataDirect Cloud to easily and quickly connect to the cloud data store, housing all your data sources.

Connecting to the Cloud Data Store Using DataDirect Cloud requires connectivity to the cloud data store. To connect to a cloud data store using DataDirect Cloud requires working with the DataDirect Cloud These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

44

Rapid Application Development For Dummies connectivity service and the cloud drivers. To access the connectivity service and cloud drivers, visit www.progress. com/datadirect-cloud.



Follow these key steps to connect to the data store: 1. Obtain a DataDirect Cloud account.

Depending on your needs, you can sign up for a corporate or individual account as described in the next section in this chapter.

2. Create a Data Source that defines how to connect to your cloud data store.

For details on this step, refer to the later section, “Creating a data source definition” or watch a educational video on www.progress.com/ datadirect-cloud.

3. Download and configure DataDirect Cloud JDBC or ODBC drivers to provide connectivity between applications that need to access cloud data and the DataDirect Cloud connectivity service.

Creating a DataDirect Cloud account and login credentials DataDirect Cloud gives you two options to manage the login credentials that your application will need to access the connectivity service.

✓ If the data source definition includes credentials for the cloud data store, an application must provide the name of the data source that you created in the preceding section and the credentials for your DataDirect Cloud account.



✓ If the data source definition doesn’t include credentials for the data store, an application must pass in the name of the data source, the credentials for the DataDirect Cloud account, and the credentials for the cloud data store.



DataDirect Cloud offers three types of accounts:

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 4: Accessing Your Data with Progress DataDirect Cloud

✓ Corporate user account



✓ Individual user account



✓ DataDirect Cloud account

45

These sections look at the first two. To create a DataDirect Cloud account, visit www.progress.com/ datadirect-cloud.

Setting up a corporate account You need a Progress ID to use DataDirect Cloud corporate account. Stick to the following steps to do so:

1. Click the Contact Us button on the DataDirect Cloud website, and the inquiry page displays.



2. Fill in the details and click the Submit button.

After your information is reviewed and processed, Progress Software will create your account and send a confirmation email, which includes the URL for registration.

3. Copy and paste the entire URL provided by Progress software into your browser’s address bar and press Enter.

The Progress ID Registration page displays.

4. Follow the directions to create a Progress ID.



5. Read the Terms of Use, and click I Agree.

The Dashboard view appears. When your plan is active, go to the “Creating a data source definition” section for more information.

Setting up an individual user account You need a Progress ID to evaluate or purchase DataDirect Cloud. To do so, follow these steps:

1. Click the Try Now button at www.progress.com/ products/datadirect-cloud and the Progress ID Registration page displays.

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

46

Rapid Application Development For Dummies 2. Follow the directions to create a Progress ID.

After verifying your information, Progress Software will create your account and send a confirmation email, which includes the Progress ID for you to use to log in.

3. Click the Activate My Account link in the confirmation email, and log in.



4. Read the Terms of Use, and click I Agree.

The Subscription Plans page displays.

5. Select a plan and follow the prompts to complete the subscription. When your plan is active, follow the steps described in the next section. When you’re ready to purchase or upgrade, log in and click My Plan to display your current plan. Click Upgrade to view available plans.

Creating a data source definition You define the information that DataDirect Cloud needs to connect to the data store in a data source. These default connection values are used each time you or your application connects to a particular data store. In addition to user credentials, the data store may provide other options you can use to tune performance.

When you’re logged in to your DataDirect Cloud account, follow these steps to create a Data Source:



1. In the left navigation panel, click Data Sources to open the Data Sources view.



2. From the list of data stores, click the appropriate logo for the type of data store you want to connect to.

The Create Data Source dialog opens. To set up a data source for data stores behind a firewall, you must first install and configure an onpremise connector. Check out the later section, “Using DataDirect Cloud On-Premise Connector” for more information. These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 4: Accessing Your Data with Progress DataDirect Cloud

47



3. If applicable, select On-Premise or Cloud, depending on the type of data store you want to connect.



4. On the General tab, enter the login credentials required for the data store.

To prevent DataDirect Cloud from insisting login credentials for the data store, you can create and save a data source definition without entering credentials. When you test the data source connection, you’ll be prompted to specify these details for the current session and applications will need to supply the credentials when connecting to the JDBC or ODBC driver. 5. To configure advanced behavior, click the Advanced tab.



Table 4-1 provides details on the fields specific to each supported cloud data store.

6. When you’re satisfied with the Data Source definition, do the following:



• Click Save to create the definition without testing the connection. You can test later by executing a query.



• Click Save and Test to create the data source and check whether a connection can be successfully established with the data store.

The Save and Test option is available only if you specify the login credentials. The new data source will display in the My Data Sources list.

Table 4-1

SQL Support for Each Data Store Type

Data Source

Supported SQL

Apache Hadoop Hive

Apache Hive On-Premise Parameters (Beta), Apache Hive Parameters (Cloud) (Beta)

DB2

DB2 On-Premise Parameters, DB2 Parameters (Cloud)

Greenplum

Greenplum On-Premise Parameters (Beta), Greenplum Parameters (Cloud) (Beta) (continued)

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

48

Rapid Application Development For Dummies

Table 4‑1 (continued) Data Source

Supported SQL

HubSpot

HubSpot Parameters

Informix

Informix On-Premise Parameters (Beta)

Marketo

Marketo Parameters

Microsoft Dynamics CRM Online

Microsoft Dynamics CRM Online Parameters

Microsoft SQL Server

Microsoft SQL Server On-Premise Parameters, Microsoft SQL Server Parameters (Cloud)

MySQL

MySQL On-Premise Parameters on, MySQL Parameters (Cloud) (Beta)

Oracle

Oracle On-Premise Parameters, Oracle Parameters (Cloud)

Oracle Eloqua

Oracle Eloqua Parameters

Oracle RightNow

Oracle RightNow Parameters (Beta)

PostgreSQL

PostgreSQL Parameters

Progress OpenEdge

Progress OpenEdge Parameters Cloud, Progress OpenEdge On-Premise Parameters

Progress Rollbase

Progress Rollbase On-Premise Parameters, Progress Rollbase Parameters

Salesforce-based data sources

FinancialForce Parameters, Salesforce Parameters, ServiceMax Parameters, Veeva CRM Parameters

Sybase ASE

Sybase On-Premise Parameters (Beta), Sybase Parameters (Cloud) (Beta)

Choosing advanced map options Data mapping describes how to map elements between two distinct data models, usually distinguished as the source and the target. To support SQL access to cloud data stores, the DataDirect Cloud connectivity service maps tables, columns,

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 4: Accessing Your Data with Progress DataDirect Cloud

49

rows, relationships between tables, and stored procedures. In a DataDirect Cloud map, the source data model can be from a relational (which classifies data based on relationships and structured formats) or a nonrelational data store (which houses data in an unstructured manner), while the target type is a relational model.

For some data stores, the DataDirect Cloud connectivity service creates a map when it connects for the first time and subsequently uses it for queries and updates. The advanced tab of a data source contains map options that define the way the map to the data store is created. The options available in a data source depend on which type of data store you are connecting to. Map options provide the capability to force the creation of a new map and to create named maps. For some data stores, map options also define whether or not to include extra columns, such as audit and system columns. After a map is created, the options used in creating that map can’t be changed without creating a new map.

Eyeing the advanced mapping fields The default values for advance mapping fields are appropriate in many cases for any data store. However, if your organization uses custom objects, wants to access audit columns, or has tables or columns named with reserved words, you may want to change map option settings. Understanding how DataDirect Cloud creates and uses maps can help you choose the appropriate values. Map options are specific to particular data stores. Keep in mind that map creation is an expensive operation. In most cases, you will only want to re-create a map if you need to change mapping options.

Advanced mapping options include the following: ✓ Create map and map name ✓ Audit columns ✓ Custom suffix ✓ Keyword conflict suffix ✓ Map system column names ✓ NUMBER data type ✓ Strip custom prefix ✓ System columns ✓ Uppercase identifiers

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

50

Rapid Application Development For Dummies

Testing a data source The DataDirect Cloud dashboard allows you to test cloud data store connections by browsing the schema or submitting SQL queries. To query a data store, do the following:

1. If the dashboard isn’t open, click the My Dashboard link in the navigation bar.



2. Click the SQL Testing button.

The SQL Testing view displays.

3. From the Data Source list box, select a Data Source.

If you didn’t save credentials in the Data Source, you’ll be prompted to supply them now.

4. From the Schema list box, select a schema.

A type that corresponds to the type of data source that you’re using is selected by default. You can choose another type from the drop-down list.

5. Enter a SQL statement in the SQL Editor tab or drag the table name or the column name from the Schema browser to the SQL Editor tab and add the syntax required for the desired query.



6. Click Execute Query.

The results and status of the query are displayed in the Results and Status sections at the bottom. Queries are logged in the History tab and can be reused at any time in the current session.

7. To reuse a query, switch to the History tab and select the query, and click Execute Query.

Editing connection parameters Editing connection parameters is sometimes required, depending on your connectivity protocol. To make those edits, follow these steps. To edit the connection parameters of a Data Source definition, follow these steps:

1. If it’s not open in the dashboard, click the Data Sources button to display the Data Sources view.

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 4: Accessing Your Data with Progress DataDirect Cloud

2. Select the Data Source you want to edit, and then click the Edit button.



3. Specify the required changes.

51

Do one of the following:

• Click Update to apply the new changes without testing a connection to it. You can always test a connection later by executing a query.



• Click Update and Test to update the data source definition and check whether a connection can be successfully established with the data store.



The Update and Test option is available only if you specify the login credentials. The data source definition is updated with the specified changes.

Deleting a data source definition To delete a data source definition, do the following:

1. If it isn’t open in the dashboard, click the Data Sources button to display the Data Sources view.



2. Select the Data Source that you want to delete, and then click the Delete button.

The selected data source is removed from the My Data Sources list. After you delete a data source definition, you can’t undo the delete action.

Using DataDirect Cloud On-Premise Connector When you install the DataDirect Cloud On-Premise Connector on a machine behind your firewall, you can connect to an onpremise data store using DataDirect Cloud without opening ports or otherwise configuring the firewall. The On-Premise Connector establishes a secure connection when needed to provide access to the on-premise data sources through DataDirect Cloud. You must install the On-Premise Connector

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

52

Rapid Application Development For Dummies on a machine on your network before configuring an on-premise data source in DataDirect Cloud.



You must install the On-Premise Connector on a machine on your network before configuring an on-premise data source in DataDirect Cloud. To download the On-Premise Connector, log in to DataDirect Cloud and select Downloads. Click the link for the PDF documentation, or view an educational video on www. progress.com/datadirect-cloud for more information about installing the On-Premise Connector. The On-Premise Connector allows you to access an on-premise data store just like any cloud data store. The two important differences are as follows:



✓ DataDirect Cloud On-Premise Connector must be installed on a machine that has network access to the onpremise data store.



✓ The data source that you configure in DataDirect Cloud needs both the Connector ID from the On-Premise Connector and the connection details for the on-premise data store.

Configuring the On-Premise Data Source After the On-Premise Connector is installed on your network and you use the Configuration Tool to determine the Connector ID for your connector, you’re ready to create an on-premise data source in DataDirect Cloud. To do so, follow these steps:

1. Log in to DataDirect Cloud.



2. Go to the Data Sources view and select an on-premise data store from the list of data stores in the upper pane.

The On-Premise Data Source dialog box displays.

3. Fill in the fields required for the type of on-premise data store you want to connect to, such as



• Apache Hive On-Premise Parameters (Beta)



• IBM DB2 On-Premise Parameters

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 4: Accessing Your Data with Progress DataDirect Cloud

• Greenplum On-Premise Parameters (Beta)



• Informix On-Premise Parameters (Beta)



• Microsoft SQL Server On-Premise Parameters



• Oracle On-Premise Parameters



• Oracle RightNow Parameters (Beta)



• Progress OpenEdge On-Premise Parameters



• Progress Rollbase On-Premise Parameters



• Sybase On-Premise Parameters (Beta)



53

4. Click Save or Save and Test to create the on-premise data source.

Choosing a driver and configuring your application To access cloud data from applications, such as business intelligence (BI) and reporting tools, you need to install a local driver that connects them with the DataDirect Cloud service. The drivers are small components that install quickly. To install, stick to these steps:

1. Choose which driver to download.



• ODBC: It’s the most common for many BI and reporting tools. For example, use the ODBC driver if you plan to view your cloud data in Excel or Qlikview.



• JDBC: It’s the most common for application servers and Java-based applications, such as Yellowfin.

If you don’t know which driver to use, ask your IT department or check your tool documentation.

2. Log in to your DataDirect Cloud account.

To do so, from the Quicklinks list, choose Downloads, and download the driver for your operating system.

• To determine whether a Windows operating system is 32- or 64-bit, right-click the symbol

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

54

Rapid Application Development For Dummies for your computer on your desktop and select Properties.





• If you can’t determine which driver to download for your operating system, check with your IT department. 3. After the driver is installed, you need to configure the local driver to connect to the data source you defined in DataDirect Cloud and configure your application to connect using ODBC or JDBC.

The following can help you configure your local driver:

• Read how to configure your applications to use the JDBC driver or watch a video on www. progress.com.



• Read how to configure your applications to use the ODBC driver or watch a video on www. progress.com.



• See a list of videos on configuring specific BI tools on www.progress.com/ datadirect-cloud.

Navigating the DataDirect Cloud workspace To try the DataDirect Cloud connectivity service, you need an account. When you log in to your DataDirect Cloud account, the service starts a session and you can access the dashboard from the My Dashboard tab. When you log out or are inactive for a period of time, the service closes the session.

The dashboard contains the following views that allow you to set up and test connectivity to cloud data stores:



✓ Dashboard view: This view lists your subscription information, such as the type of plan, plan duration, subscribed date, subscribed data stores, and allocated usage. Click Show Current Usage to see the usage statistics.



✓ Data Sources view: This view lists the data stores supported by DataDirect Cloud and allows you to create a data source definition. A data source definition configures the connection between DataDirect Cloud and

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 4: Accessing Your Data with Progress DataDirect Cloud

55

your data store. You can create one or more data source definitions for each data store type. Click the appropriate logo to create a data source definition for that data store.

✓ SQL Testing view: This view allows you to browse schemas and to query data stores for which you have created data sources. After a connection to a particular data store is established, the connection can be used to send SQL statements. DataDirect Cloud translates the standard SQL statements into the format appropriate for each data store.



✓ My Plan view: This view lists your subscription information such as the type of plan, plan duration, subscribed date, subscribed data stores, and allocated usage.

Data source parameters The data source parameters supported are similar in many cases for both cloud and on-premise versions of the data stores. However, for simplicity, because the environments have different requirements for security and other connection features, you can refer to Table 4-1 for the connection parameters. The following connection parameters for each supported data store are available at www.progress.com/ datadirect-cloud.

Query data stores The DataDirect Cloud connectivity service supports a variety of data types, SQL commands, and extensions. In addition, the service creates catalog tables to store metadata and the results of certain functions. Applications can access this information through APIs, and you can use supported functions in the SQL Editor when logged into your DataDirect Cloud account. Visit www.progress.com/datadirect-cloud for additional details about the following:

✓ Supported data types



✓ Supported scalar functions



✓ Reports



✓ Supported SQL and extensions

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

56

Rapid Application Development For Dummies



✓ Catalog tables



✓ Exposed tables



✓ Error messages



✓ Performance tuning

Supported data types Applications accessing cloud data should use supported data types. The types differ depending on the data store you’re accessing and whether your application connects through a DataDirect Cloud Driver for JDBC or DataDirect Cloud Driver for ODBC. Salesforce data stores include Salesforce, Veeva CRM, FinancialForce, and ServiceMax. DataDirect Cloud supports these data types:

✓ Apache Hive



✓ IBM DB2



✓ Greenplum



✓ Hadoop



✓ HubSpot



✓ Informix



✓ Marketo



✓ Microsoft Dynamics CRM Online



✓ Microsoft SQL Server



✓ MongoDB



✓ MySQL



✓ Oracle



✓ Oracle Eloqua



✓ Oracle RightNow



✓ PostgreSQL



✓ Progress OpenEdge



✓ Progress Rollbase



✓ Salesforce-type



✓ Sybase

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 4: Accessing Your Data with Progress DataDirect Cloud

57

Supported scalar functions Applications accessing cloud data should use supported scalar functions, which differ, depending on the data store that you’re accessing. Each scalar function returns a single value based on the input value. The SQLGetInfo function returns information about supported functions. Applications can construct SQL statements using the following syntax, where scalar-function is one of the functions listed in the topic for your data store. {fn scalar-function} For example: SELECT {fn UCASE(NAME)} FROM EMP This list summarizes scalar function support for the available data stores:

✓ Apache Hive



✓ DB2



✓ Greenplum



✓ Informix



✓ Microsoft SQL Server



✓ MySQL



✓ Oracle



✓ Oracle Eloqua, HubSpot, and Marketo



✓ PostgreSQL



✓ Progress OpenEdge



✓ Salesforce-based, RightNow, Microsoft Dynamics, and Rollbase



✓ Sybase

Reports The Salesforce-type data stores provide reporting functionality. DataDirect Cloud exposes reports defined in a data store as stored procedures. An application can obtain a list of the

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

58

Rapid Application Development For Dummies reports by calling the SQLProcedures catalog function. The names of the reports that can be invoked through the driver are listed in the PROCEDURE_NAME name column of the SQLProcedures results.

Salesforce Data Store reports Salesforce-based data stores organize reports into folders. The connectivity service incorporates the folder name and report name into the procedure name reported by SQLProcedures. The name is created by prepending the folder name to the report name using an underscore to join them. Additionally, any spaces in the report or folder names are replaced with an underscore character. Like all identifier name metadata returned by the driver, the procedure name is uppercase. For example, if a report named Opportunity Pipeline is in the folder Opportunity Reports, it would be rendered as: OPPORTUNITY_REPORTS_OPPORTUNITY_PIPELINE An application invokes a report using the standard Call escape syntax, {call report name}, and the appropriate mechanisms for handling a resultset. The following example shows one way to invoke the Opportunity Pipeline report using the driver for ODBC: SQLRETURN retVal; HSTMT hStmt = NULL; SQLWCHAR* sql; sql = L"{call OPPORTUNITY_REPORTS_ OPPORTUNITY_PIPELINE}"; retVal = SQLExecDirect(hStmt, sql, SQL_NTS); if (SQL_SUCCESS == retVal) { // process results} The following example shows one way to invoke the Opportunity Pipeline report using the driver for JDBC: String sql = "{call OPPORTUNITY_REPORTS_ OPPORTUNITY_PIPELINE()}"; CallableStatement callStmt = con. prepareCall(sql); boolean isResultSet = callStmt.execute(); if (isResultSet) { resultSet = callStmt.getResultSet(); // process the resultset} These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 4: Accessing Your Data with Progress DataDirect Cloud

59

The API used by the driver to obtain the list of reports and execute the reports isn’t an API that is documented by Salesforce. This API may change or may not be supported in the future. When passing parameters to stored procedures, reports aren’t supported.

Supported SQL and extensions DataDirect Cloud supports the SQL statements and extensions described Table 4-2. The SQL statements supported are similar in many cases for any data store. However, in some cases, the data store has different levels of SQL support.

Table 4-2

Supported SQL Data Stores

Data Source

Supported SQL

DB2

DataDirect Cloud supports the SQL supported by DB2. Refer to your DB2 documentation for details on SQL syntax.

Microsoft Dynamics CRM Online

Alter session (EXT) Delete Explain plan Insert Select Update

Microsoft SQL Server

DataDirect Cloud supports the SQL used by Microsoft SQL Server. Refer to the Microsoft SQL Server documentation for details on the SQL syntax.

Oracle

DataDirect Cloud supports the SQL supported by Oracle. Refer to your Oracle documentation for details on SQL syntax.

Oracle Eloqua, HubSpot, and Marketo

Select

Oracle RightNow

Alter session (EXT) Delete Explain plan Insert Select Update

PostgreSQL

DataDirect Cloud supports the SQL supported by PostgreSQL. Refer to your PostgreSQL documentation for details on SQL syntax. (continued)

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

60

Rapid Application Development For Dummies

Table 4‑2 (continued) Data Source

Supported SQL

Progress OpenEdge

DataDirect Cloud supports the SQL supported by the Progress OpenEdge Database, with the following exceptions: Stored procedure output parameters Multiple results Commit, Rollback, and Set transaction isolation level 1

Progress Rollbase

Alter session (EXT) Delete Explain plan Insert Select Update

Salesforcebased data sources, including Force.com, FinancialForce, ServiceMax, and Veeva CRM

Alter session (EXT) Alter table for Salesforce Create table for Salesforce Delete Drop table Explain plan Insert Select Update

Catalog tables DataDirect Cloud provides a standard set of catalog tables that maintain the information returned by various catalog functions, such as SQLTables, SQLColumns, SQLDescribeParam, and SQLDescribeCol. If possible, use the catalog functions to obtain this information instead of querying the catalog tables directly. The INFORMATION_SCHEMA contains additional catalog tables that maintain metadata. DataDirect Cloud provides catalog tables for the following data store types:

✓ Salesforce.com



✓ Force.com



✓ FinancialForce



✓ ServiceMax



✓ Veeva CRM

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 4: Accessing Your Data with Progress DataDirect Cloud

✓ Microsoft Dynamics CRM Online



✓ Oracle RightNow



✓ Progress Rollbase

61

Data stores such as Progress OpenEdge, Oracle, and Microsoft SQL Server don’t use the DataDirect Cloud catalog tables. The following topics describe the catalog tables provided by DataDirect Cloud:

✓ SYSTEM_SESSIONS Catalog Table



✓ SYSTEM_REMOTE_SESSIONS Catalog Table To find out more about Progress DataDirect or to get a trial download, please visit www.progress.com/datadirectcloud or call 800-477-6473.

Developing Web and Mobile Apps with Rollbase Mobile Rollbase Mobile is a tool for the development of both webbased and mobile business applications. Using an integrated, model-driven authoring environment can help your company deliver exceptional mobile user experiences to your customers. These sections examine the features and benefits to using Rollbase Mobile.

Eyeing Rollbase Mobile features This section explores key features of Rollbase Mobile, which include the following:

✓ Rapid application development: It lets you easily develop feature-rich mobile and web apps.



✓ Best-in-class development environment: The standardsbased and cloud-based environment lets you efficiently meet the growing need for business applications.



✓ Single integrated platform through a web browser: It allows you to build the application model and web user

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

62

Rapid Application Development For Dummies experience easily with a drag-and-drop, point-and-click development environment.



✓ Automatic back-end services: It automatically generates all of the back-end services that are needed to support your mobile app, which means you’re able to more easily deliver a consistent user experience for all your applications.

Noting Rollbase Mobile benefits This section explores the key benefits of Rollbase Mobile to enable you to create rich, standards-based and customizable applications that work seamlessly across your entire application infrastructure. Benefits include the capability to

✓ Easily assemble, deploy, and manage device-independent mobile applications. Completely integrated in the Rollbase environment, the Mobile App Builder allows you to build mobile front-end applications, including the entire application infrastructure, compatible with iOS, Android, and other operating systems. Customize your applications to support standard technologies like HTML5 and JavaScript.



✓ Leverage on-premise and cloud-based data sources as the foundation for your mobile apps. Rollbase Mobile automatically generates the application services that form the foundation for your mobile applications. For existing assets and applications, you can leverage web services and JavaScript data objects for easy interaction from your mobile client.



✓ Build powerful, visually compelling apps using a visual developer and standard technologies, such as HTML5 and JavaScript. Take advantage of business logic that is hosted by Rollbase or leverage existing back-end services. For more complex application logic requirements, use open standards-based development language (JavaScript).



✓ Support HTML5 applications or native applications using a hybrid architecture that eliminates costly device-specific coding. Add simple data integration to an even wider array of data sources. Now you can push notifications to your application users and message an individual or an entire group of users based on business rules you set. You can also empower users to collaborate and report on their own data using Easyl.

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 4: Accessing Your Data with Progress DataDirect Cloud

63

✓ Provide an intuitive, native mobile experience using a hybrid architecture that eliminates costly, device-specific coding. Support various types of apps without writing device specific code. You get a rich user experience and choice of deployment options — including the capability to post in Apple and Android stores — without the hassle of building the same app over and over again.

Managing Your Data with Progress Easyl Getting a clear picture of operations is difficult when your data analysis software has to access data residing in fragmented silos across your organization. Data, such as contacts and opportunities in your CRM system, prospects in your marketing automation platform, and purchase history in your data warehouse, make it difficult to analyze your sales pipeline, get a single view of your customer, or build your targeted campaigns. Your marketing analysts, sales operations, customer support teams, and ISVs all struggle to access, combine, collaborate, and report on this data, which can consume hours or even days of manual, error-prone effort spent unifying, filtering, and cleaning the data in tools such as Microsoft Excel.

Progress Easyl, part of Progress Pacific, is a data management tool that dramatically simplifies the process of accessing, blending, and reporting on your organizational data. With Easyl, the people in your organization become empowered to self-service their data needs, right when they need it. A 360degree view of your customer, an accurate measurement of your marketing execution, and the pulse of your sales team can be the differentiation you need to ignite your business. Here are a few ways how Easyl can help your people:



✓ Connect: No more manual data exports! Easyl gets it for you directly from Eloqua, HubSpot, Salesforce and other Force.com applications, Microsoft Dynamics, and RightNow as well as Progress OpenEdge and Progress Rollbase. Easyl also easily connects to your on-premise data too, from databases such as Oracle, SQL Server, and others, giving you the options you need to get the most accurate picture of your business.

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

64

Rapid Application Development For Dummies



✓ Combine: No more cutting and pasting. Using readymade templates, Easyl gathers data from your favorite Software as a Service (SaaS) and on-premise applications and combines them based on common patterns and rules — or you can customize your own.



✓ Store: No need to manage infrastructure or technology. Using the cloud, Easyl can provision private cloud storage for you on-demand. It not only stores the combined data from your applications, but it also automatically refreshes it.



✓ Share: No more fragmented email threads or Dropbox headaches when you share your output. Easyl syncs reports from the cloud with full corporate oversight of users for easier collaboration.



✓ Consume: Easyl works with all your favorite business intelligence (BI) and reporting tools. It produces reports natively as Microsoft Excel files or connects via ODBC and JDBC to tools like Tableau, Qlikview, Microstrategy, SAS, and Cognos or virtually any other self-service BI tool.

Managing Business Rules with Progress Corticon Progress Corticon improves decisions and cuts development costs by managing the business rules that drive business processes. Corticon is a Business Rules Management System (BRMS) that delivers high-quality, high-fidelity, and highperformance automated business decisions. It helps increase agility of decision change processes and enables new insights into the connections between individual recurring decisions and business performance. Corticon separates decisions from processes, helping both business and IT users quickly create or reuse business rules. Business analysts can identify, automate, and deploy automated business rules and decision systems in collaboration with IT, but without the need for expensive custom coding. More than 500 customers worldwide use Corticon, for automating and executing business rules. Customers such

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 4: Accessing Your Data with Progress DataDirect Cloud

65

as eBay, AEGON, LexisNexis, US Bank, and the State of Texas have realized significant bottom- and top-line results using Corticon to codify, program, and deploy business rules. They see improvements in decision automation, decision change processes, and decision-related insights. Corticon enables you to bring new products to market faster while efficiently maintaining business rules that make all products and services relevant and responsive to customers and end users. Systems developed with Corticon stand up to the most demanding production and customer environments, delivering fast, accurate decision management results. These sections take a closer look at the features and benefits of using Corticon.

Looking at the features The following takes a quick tour of Corticon business rules management system (BRMS) key features.

✓ Patented, no coding rules engine: This engine enables you to identify automatically logical errors in rules and to ensure safe changes and reduce risks. The Design-time Inferencing (DeTI) Engine shifts the inferencing workload from runtime to design time, producing more efficient and reliable decisions. Unlike most rules engines, Corticon processes pre-optimized decision services, eliminating the need to determine which rules are relevant to the decision and the requirement to know the order in which to execute those rules. This increases decision performance.



✓ Automated, model-driven rules creation and maintenance: The creation of automated rules guarantees integrity of rules and enables easy scenario testing. It includes the capability to create sophisticated groups of tests that do the following:



• Span multiple rule models to test the rule interaction within complex decision logic



• Run test cases either one at a time or in batch through embedded rules engine



• Compare expected results to actual results to identify possible errors and to reuse test cases and data

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

66

Rapid Application Development For Dummies



✓ Out-of-the-box accessibility: Corticon’s ease of use enables business and IT users to author, improve, collaborate on, and maintain decision logic easily and efficiently. Corticon Business Rules Modeling Studio is easy to use and makes modeling decisions and their business rules accessible to business professionals, business analysts, and software developers across your organization. Its model-driven approach eliminates the need for programming skills and uses a spreadsheet interface that’s easy to understand yet still supports the most sophisticated decisions and business rules. Even skilled programmers gain from significantly reduced development cycles when using Corticon Studio to create and maintain rules-based decision services. The system allows you to model, analyze, and test rule sets independent of any IT system, and then save them as executable decision services.



✓ Business rules collaboration and version control: Corticon Collaborator is a multi-user solution for managing business rules projects throughout their development and maintenance life cycle. It helps your teams manage and maintain control over all aspects of the rule discovery, modeling, and deployment process.



✓ Connect decision services and external data: Corticon Enterprise Data Connector provides a direct connection between decision services and external data, and enables you to enrich decision service vocabularies from your data sources. It lets you connect business rules to external data sources without expensive middleware or complex SQL coding.

Noting the benefits The following list points out some of the unique benefits of Corticon and how automating your business rules can help your business.

✓ Faster time to market: New products and services often require new rules. Or products can require nearly instant rules enhancements to stay relevant to your customers. Corticon decision management software enables you to

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 4: Accessing Your Data with Progress DataDirect Cloud

67

add new and change business rules quickly and easily, eliminating the need for expensive custom coding and lengthy development cycles so you can get products in front of customers fast. At the same time, you still have the capability to test new rules in a nonproduction environment before release, maintaining development control.

✓ Reduced deployment cycles with agile development: Dynamic organizations require constant adjustment to business rules. Corticon’s spreadsheet-like modeling tools provide unprecedented speed and ease of use, so your business staff is empowered to manage and maintain rules without requiring development expertise.



✓ High performance and scalability: Today routine, automated decisions must be fast decisions, without system lag, especially when systems grow to accommodate growth. Corticon is capable of millisecond response times and can scale across millions of transactions per day worldwide if needed. As the number of rules and complexity of data increases, the system scales linearly with increasing payload, which allows for much higher throughput and minimizes the need for round-trip calls to the server.



✓ Accurate automated decisions: Inaccurate automated decisions miss the mark and are useless. Corticon’s unique rule-integrity features ensure the right decisions are made at the right time. New rules can be tested to ensure that they provide accurate results, without conflicts from existing rules.



✓ Improved development times and processes: Decision rules are often embedded in software code, which makes them difficult to evaluate and change. Corticon separates rules from code, eliminating redundant development tasks and improving rule and information sharing across programs.

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

68

Rapid Application Development For Dummies

Driving business and social prosperity: Good Done Great Most people have the impulse to reach for their checkbooks when they see the consequences of a natural disaster or some pressing, unmet social need. But many of those people then hesitate, worried about where their money will go and how it will be used. Good Done Great is focused on addressing both aspects of the problem, simplifying the processes associated with charitable activities and also enhancing the flows of information needed to manage and measure results. Thanks to its vision and Progress Pacific, Good Done Great helps its clients create and organize their giving and corporate social responsibility strategies for maximum impact. It makes a difference through a combination of consulting services and applications designed to enhance the value and effectiveness of philanthropy. Regardless of where an organization is in its philanthropic journey, Good Done Great’s integrated Progress Pacific-based cloud solutions enable clients to leverage their giving or corporate social responsibility efforts, to build highly

effective programs and campaigns, and to engage their stakeholders, while driving results that enable both businesses and society to prosper. Progress Pacific allows Good Done Great to do the following: ✓ Provide highly customized experiences for every one of its clients ✓ Address the needs of large, multinational, and global organizations ✓ Be flexible to respond quickly and easily to user requests ✓ Push application enhancements and updates to their clients on a regular basis ✓ Expand into new area of philanthropy and integrate with other providers in the sector According to David Barach, founder and CEO of Good Done Great, “Prog­ ress Pacific has been a game changer for us in terms of our ability to develop and improve. Furthermore, those capabilities have contributed to more manageable and predictable costs.”

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

Chapter 5

Top Ten Advantages to Rapid Application Development In This Chapter ▶ Quickly building and efficiently managing rich business applications ▶ Taking advantage of a cloud-based approach for application

development

H

ere are ten advantages to using Progress Pacific Platform as a Service (PaaS) to help you meet today’s increasing demand for feature-rich business applications. When you’re ready to move to a modern app development approach using PaaS, the Progress Pacific team can get you there, quickly and cost effectively. Find out more at www. progress.com/pacific.



✓ Accelerate application development. PaaS enables you to rapidly create, deploy, and host business applications using a web browser and easy-to-use interface.



✓ Build flexible, data-driven web and mobile applications. It lets you create and deploy business applications to help meet increasing demand for more applications.



✓ Differentiate with data integration. It frees your IT team from manual coding, by providing easy-to-use standardsbased and industry-leading data access and connectivity.



✓ Enable a seamless transformation of your business. You can simplify the development, deployment, and

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

70

Rapid Application Development For Dummies management of business applications for improved organizational productivity end to end.



✓ Simplify your application development process. You can build applications free from infrastructure constraints or traditional development activities (such as build, compile, deploy, and version control).



✓ Unleash the expertise of your workforce. It empowers your GUI-style developers and technical business users to co-create applications and proactively solve your most pressing business challenges with just a browser and an Internet connection.



✓ Adopt an open architecture that aligns to industry standards. You can free your organization by using open standards and enable continuous innovation.



✓ Embrace cloud-native, heterogeneous platform support that can drive significant cost improvements. It maximizes your investment, utilizing cloud technologies while allowing users to access applications regardless of platform (mobile/web).



✓ Drive efficiency by developing applications once. You can create a single application that works across all your devices, including support for mobile-specific application experience without custom code.



✓ Leverage a consistent set of back-end application services for your cross-channel development. You can improve user experience and create a consistent look and feel across your web, mobile, and enterprise applications.

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.

WILEY END USER LICENSE AGREEMENT Go to www.wiley.com/go/eula to access Wiley’s ­ebook EULA.

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF