= Anypoint Platform Primer Welcome to the documentation for MuleSoft's Anypoint Platform™. Follow the links below to learn more about the platform components and underlying concepts.  == Anypoint Platform Anypoint Platform is a complete integration platform for SOA, SaaS integration, and APIs. Anypoint Platform provides a comprehensive set of tools and services to help you achieve your integration goals: * Integrate SaaS and on-premises applications * Modernize legacy services * Orchestrate business processes and services * Design and publish APIs for end customers, B2B, or mobile * Create API proxies to separate implementation from orchestration * Engage consumers of your API * Govern APIs with runtime policies There are several entry-points to the platform, depending on your business case. Explore the options below. * link:http://www.mulesoft.org/documentation/display/current/Anypoint+Platform+Primer#AnypointPlatformPrimer-api[Anypoint Platform for APIs] * link:http://www.mulesoft.org/documentation/display/current/Anypoint+Platform+Primer#AnypointPlatformPrimer-saas[Anypoint Platform for SaaS Integration] * link:http://www.mulesoft.org/documentation/display/current/Anypoint+Platform+Primer#AnypointPlatformPrimer-soa[Anypoint Platform for SOA] == Anypoint Platform for APIs The *Anypoint Platform for APIs* facilitates the entire API lifecycle, from design to management to publishing. Use *API Designer* a web based tool to help you quickly design RESTful APIs. Once you’ve designed it, you or other developers can use the *API Notebook* to explore the API, test it, and iteratively improve it. Once you are happy with the design of your API, you can build it with APIkit, open-source tooling included in *Anypoint*™* Studio*.* APIkit* is a simple, easy-to-use framework that automatically generates an integration structure for your API, so you can hook into your services and data sources. Deploy your API to the *API Gateway*, a dedicated orchestration layer where you can deploy Mule-based APIs or proxies of already-built APIs. Once your API is running, you can use *Anypoint API Manager* as your single point of management for all your APIs to control access, enforce SLAs, and monitor users and traffic to keep APIs and services running at peak performance. Developers building applications that use your API can register for access on a dedicated *API Portal* page, where they can discover, test out, and access documentation for your API. .How to Get Started 1. To get started building your API with Anypoint Studio, you’ll want to work through the rest of Mule Fundamentals, starting with link:Anypoint+Platform+Primer/Begin+with+the+Basics.asciidoc[Begin with the Basics]. 2. Advance to the link:Anypoint+Platform+Primer/APIkit.asciidoc[APIkit] overview. 3. To get started designing and managing APIs, jump to the link:Anypoint+Platform+Primer/Anypoint+Platform+for+APIs.asciidoc[Anypoint Platform for APIs documentation]. == Anypoint Platform for SaaS Integration Mule's integration platform helps you connect applications, orchestrate business processes, and publish new services and APIs. Design your integrations with *Anypoint Studio*, Anypoint Platform's graphical design environment. With Studio, you can assemble your integration flow using intuitive drag-and-drop tool or using XML. Use* Anypoint Connectors* to connect to over 120 SaaS and on-premises applications, or connect through standard protocols such as web services, HTTP, or FTP. Run your integrations either in the cloud via *CloudHub* or on-premises with *Mule ESB*. CloudHub is an integration Platform as a Service (iPaaS) which provides everything you need to run your integrations in the cloud. With Mule ESB, you can deploy your integrations to any data-center – on premises or in the cloud -- and manage them with the *Mule Management Console*. = How to Get Started 1. To get started building integrations with Anypoint Studio, you’ll want to work through the rest of Mule Fundamentals, starting with link:Anypoint+Platform+Primer/Begin+with+the+Basics.asciidoc[Begin with the Basics]. 2. Interested in checking out CloudHub first? Follow the link:Anypoint+Platform+Primer/Getting+Started+with+CloudHub.asciidoc[Getting Started with CloudHub] guide. = Anypoint Platform for SOA *Mule ESB* is a Java-based enterprise service bus (ESB) and integration platform that allows developers to quickly and easily connect applications to exchange data following the service-oriented architecture (SOA) methodology. Mule enables easy integration of existing systems, regardless of the different technologies that the applications use, including JMS, Web Services, Java-based databases, HTTP, and more. A lightweight, open-source middleware, Mule provides comprehensive application integration. The Enterprise Service Bus (ESB) at Mule’s core facilitates connections within an organization as well as secure external connections to Web-based APIs and other cloud resources via *Anypoint Connectors*. Build applications using *Anypoint Studio*, leveraging pre-packaged building blocks designed to “plug in” to the standardized interface provided by the Mule service bus. Mule runtimes allow you to deploy and run multiple applications simultaneously and manage them standalone or in high-availability clusters using *Mule Management Console* or *CloudHub*. [NOTE] You may be thinking, "So, is Mule similar to an application server like JBoss or Tomcat?" Although there is an overlap in functionality, Mule differs significantly from a web application server. link:Anypoint+Platform+Primer/Mule+versus+Web+Application+Server.asciidoc[Find out how]. == How to Get Started 1. To get started building integrations with Anypoint Studio, you’ll want to work through the rest of Mule Fundamentals, starting with link:Anypoint+Platform+Primer/Begin+with+the+Basics.asciidoc[Begin with the Basics]. 2. If you're interested in diving into the operations side of the platform, check out link:Anypoint+Platform+Primer/Mule+Management+Console.asciidoc[MuleManagement Console] (if you deploy on-premises) or link:Anypoint+Platform+Primer/CloudHub.asciidoc[CloudHub] if you deploy to a VPC. = Meet Mule Let's take a quick tour of MuleSoft's Anypoint Platform and its related products, breaking things down into three basic stages of application development and operations: *design and develop*,* deploy*, *manage*. == Design and Develop *link:Anypoint+Platform+Primer/Anypoint+Studio+Essentials.asciidoc[Anypoint™ Studio]* is MuleSoft's Eclipse-based integrated development environment (IDE). Studio provides a powerful “drag and drop” application builder, and includes a companion XML editing environment for developers who prefer to edit code directly. Anypoint Studio is also link:Anypoint+Platform+Primer/Studio+in+Eclipse.asciidoc[available as an Eclipse plug-in]. Anypoint Studio contains the following features: [cols="1,3"] |======================= |image:datamapper.png[image] | The powerful *link:Anypoint+Platform+Primer/Datamapper+User+Guide+and+Reference.asciidoc[Anypoint™ DataMapper]* feature built into Anypoint Studio not only transforms payloads from one data format to another, it can map input fields to output fields as well as filter, enrich, and route message payloads.  |image:apiKit.png[image] | *link:Anypoint+Platform+Primer/APIkit.asciidoc[APIkit]* is an open-source, declarative toolkit specially designed to facilitate REST API design and development. Add the APIkit module to your instance of Studio. |image:connector.png[image] | A large and ever-expanding assortment of bundled and premium *link:Anypoint+Platform+Primer/Anypoint+Connectors.asciidoc[Anypoint™ Connectors]* facilitates quick, easy integration with SaaS applications, APIs, and common protocols. | *image:datasense.png[image]* | *link:Anypoint+Platform+Primer/DataSense.asciidoc[DataSense]* uses message metadata to proactively acquire information such as data type and structure in order to prescribe how to accurately map or use data in your application. |======================= == Deploy [cols="1,3"] |======================= |image::studioembeddedserver.png[image] | Deploy to the *embedded server* bundled with Anypoint Studio for testing and debugging. |image::mule-server.png[image]| Deploy to an *ESB Standalone server,* available as an Enterprise or Community product. |image::cloud-cloudhub.png[image] | Deploy to *link:Anypoint+Platform+Primer/CloudHub.asciidoc[CloudHub]*, the world's first integration Platform as a Service (iPaaS). Built on top of Mule, CloudHub allows you to integrate and orchestrate applications, data sources, and services across on-premise systems and the cloud. | image::mulesoft-database-customapp.png[image] | *Publish APIs or API proxies to an *link:Anypoint+Platform+Primer/API+Gateway.asciidoc[API Gateway]* to enable effective governance and support service reuse within your organization. |======================= == Manage [cols="1,3"] |======================= |image:mmc.png[image] | The *link:Anypoint+Platform+Primer/Mule+Management+Console.asciidoc[Mule Management Console]* facilitates deployment to the Mule Repository and subsequent deployment to Mule link:Anypoint+Platform+Primer/Mule+High+Availability+HA+Clusters.asciidoc[high-availability clusters]. It provides robust runtime management capabilities for on-premises deployments. |image:CH_insight.png[image]| *link:Anypoint+Platform+Primer/CloudHub+Insight.asciidoc[CloudHub Insight]* tracks everything your data does in an application deployed to CloudHub. Insight makes information searchable and helps you find and recover from any errors that occurred during message processing. | image:AnypointAPI_manager.png[] | *link:Anypoint+Platform+Primer/API+Manager.asciidoc[API Manager]* is an API and service registry and governance platform. Built from the ground up to support hybrid use cases, API Manager governs all of your service and API assets, whether they’re internal or external, behind the firewall or on the cloud, on a single platform.  |=======================