= 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. 
|=======================

