Хочу все знать. Язык Apex

Прежде чем мы перейдём непосредственно к знакомству с языком Apex, необходимо в качестве предисловия рассказать об американской компании Salesforce. Она была основана в 1999 году в Сан-Франциско и специализируется преимущественно на разработке CRM-систем. Разрабатывает она их настолько успешно, что в 2012 Salesforce вышла на первое место по доле на рынке CRM, обойдя таких гигантов, как SAP и Oracle.

На сегодняшний день ситуация не изменилась, напротив - лидерство только упрочилось. Основной зоной популярности платформы Salesforce является США. Здесь её услугами пользуются как крупные компании, вроде Google, Dell, Cisco, так и простые люди, с трудом представляющие даже что такое CRM-система. А помогает им в этом язык программирования Apex.

Краткая справка

Salesforce создало подразделение под брендом Force, которое предоставляет Paas-платформу (модель Platform as a Service) для самостоятельной разработки приложений и расширений. Именно здесь и используется Apex - Java-подобный строго типизированный язык.

В отличии от некоторых других примеров переработки Java, Apex является не упрощением, а адаптацией под реалии бизнес-приложений. Иначе говоря, большую часть кода здесь составляют процедуры обработки баз данных, и лишь малая - интерфейсу, конструкциям, событиям.

Визуально код, написанный на Apex, выглядит следующим образом:

trigger MileageTrigger on Mileage__c (before insert, before update) {
for(mileage__c m: Trigger.new){
User c = ;
}
}
Безусловно, это не самый простой для понимания и запоминания язык программирования. Тем не менее большинство учебных курсов, обязающихся обучить новичка с нулевыми знаниями создавать приложения на платформе Salesforce, закладывают на Apex не более 4 академических часов. И причина этому вовсе не халатность организаторов, а тот факт, что для нормальной работы вам не потребуется знать Apex на абсолютном уровне, базового знакомства вполне достаточно. Остальное - справочные данные.

Работа

Так как основная популярность платформы приходится на США, то именно там основная клиентская база, чуть меньше в Латинской Америке и отдельных странах Европы и Азии, вроде Израиля. В России Salesforce имеет малую клиентскую базу и пока относительно безуспешно пытается разместиться на нашем рынке. Но это совсем не означает, что найти работу здесь невозможно.

Если говорить о изучении платформы в целом, то к вашим услугам набор WorkBook -ов. Расположены они ровно в том порядке, каком рекомендуются к прочтению, однако, моё личное мнение, для новичка такая информация избыточна.

Да, кстати, там же на официальном сайте вы можете попробовать окончить курсы, которые вам дадут сертификат, фактически дающий пропуск в профессию. Однако стоимость такого обучения может достигать 4 500$.

А вот хороших ресурсов на русском языке найти не удалось. Достаточно много 2-5 дневных курсов от компаний, предоставляющих услуги по внедрению CRM с сопутствующими консультациями, в том числе по Apex, но простых текстовых обучалок нет. Если знаете - бросайте ссылки в комментарии.

Послесловие

Разработка приложений на платформе Salesforce имеет свои недостатки и преимущества. К минусам легко отнести необходимость платить буквально за каждый шаг “благодаря” системе лимитов. За все красивости, расширения, подключения дополнительных ресурсов придётся жертвовать доллары. Чтобы минимизировать свои расходы вам очень быстро придётся научиться включать голову, сопоставляя свои возможности и потребности клиента.

С другой стороны, Salesforce - платформа, показывающая стремительный рост, при этом конкуренция на рынке её разработчиков ничтожна. Кроме того, сам процесс работы в облаке Salesforce практически гарантирует безопасность кода и его исполнения, потребляя минимум ресурсов, как временных, так и машинных.

Партнёрский материал

Дмитрий Черник , менеджер группы разработки iTechArt рассказывает, какие возможности Salesforce открывает для разработчиков, почему это интересно и перспективно, и сравнивает платформу с конфетой, которую не нужно есть с обёрткой. Дмитрий работает с технологией уже 8 лет, активно развивая это направление в компании. Более того, планирует создать независимое сообщество для обмена опытом и знаниями об инновационной платформе.

Я начал интересоваться Salesforce сразу после университета. Стандартная история: работал с Java, но хотелось попробовать себя в чём-то новом. В Salesforce привлекли близость платформы к бизнесу и возможность приносить ему реальную выгоду.

Salesforce - это не только CRM (Client Relationship Management), как многие привыкли думать. Salesforce - это платформа, на базе которой, помимо CRM, есть много интересного. И у разработчика тут большой простор для творчества: можно написать собственное приложение для AppExchange Market, есть возможность использовать современные веб-фреймворки и интегрировать их в платформу.

Меня вдохновляет свобода действий, помноженная на результат.

И если говорить, какие перспективы открывает Salesforce для разработчика, то это в первую очередь возможности роста и развития, как в техническом направлении, так и в направлении менеджмента проектов и консалтинга. Хороших Salesforce специалистов на сегодняшний момент немного и все они буквально на вес золота. Поэтому работа с Salesforce - это достойные условия оплаты, взаимодействие с клиентами, командировки и, конечно же, интересные задачи. В общем, смотреть в сторону Salesforce - правильно, если хочется перемен, которые стабильно приведут к хорошему результату.

В компании, где работаю, Salesforce уделяется достаточно много внимания, направление активно расширяется. У нас уже есть экспертные команды, в которых действительно можно перенять опыт и научиться полезным вещам. Ребят в команды подбираю как среди опытных разработчиков, так и среди студентов. Для последних организовываю лаборатории с очень строгими правилами отбора и последующим трудоустройством, при успешном выполнении всех заданий. Отличная возможность проявить себя и получить удачный старт.

Давайте подробно поговорим, почему Salesforce достоин внимания, как появилась идея создать открытое сообщество и зачем вам тратить вечер после работы на митап 8 февраля.

Salesforce инновационный

Когда говоришь о Salesforce, нельзя не отметить новаторство компании. На протяжении 5 лет она находится в топ-3 рейтинга Forbes самых инновационных компаний, а в 2017-м году и вовсе заняла первое место, обогнав Tesla. Forbes проводит анализ по разным критериям: сколько средств компания тратит на развитие, сколько - на внедрение новых технологий, сколько - на привлечение стартапов.

В отношении стартапов Salesforce занимает достаточно активную позицию. Например, в 2010 году была приобретена одна из первых облачных платформ Heroku, позволяющая запускать приложение на различных языках - Ruby, Node.js, Java, Python. Как результат поглощения, появилось ещё несколько продуктов, один из которых Heroku Connect.

Или другой случай: у Salesforce не было e-commerce решения, лидером отрасли на тот момент была компания Demandware. В результате партнёрства продукт Demandeware был интегрирован в платформу как отдельное облако - Commerce Cloud.

Einstein (искусственный интеллект) тоже развивался благодаря приобретениям: несколько лет тому назад Salesforce поглотила 9 связанных с искусственным интеллектом компаний и уже сейчас активно предлагает готовый продукт, которым можно пользоваться и извлекать выгоду. И если сравнивать Einstein c конкурентами, то ни у одной компании нет такой обширной потенциальной целевой аудитории. Всё просто: Salesforce - лидер рынка, и для огромного количества компаний платформа - это главное решение, к которому привязан их бизнес.

Salesforce для бизнеса

Salesforce зарабатывает и экономит деньги компаний.

Я часто встречаю мнения, что Cloud позволяет сохранить до 30% бюджета, который тратится компанией на ИT-нужды. Достигается цифра путём отсечения ненужных теперь позиций - покупки серверов, содержания штата системных администраторов. Клиент оплачивает только лицензию. Кроме этого, если приложение работает и его не нужно расширять и дописывать, то его поддержка требует минимальных затрат.

Неудивительно, что в США и в Европе Salesforce - популярная платформа. Жаль, что в Беларуси ей не пользуются. Это дорого и нет понимания, как компенсировать затраты. Большинство белорусских бизнесов до сих пор используют Excel и 1С. При этом я знаю, что компании, занимающиеся продуктовой разработкой в Минске, изучают, как оптимизировать свои процессы при помощи Salesforce. Значит, лёд не такой крепкий и скоро тронется. В России тоже постепенно начинают приобщаться к Salesforce - например, Тинькофф банк и Black Star Wear. (Улыбается.)

Salesforce и разработчики. Платформа заставляет думать

Salesforce развивается и делает это очень динамично: 3 раза в год выходят релизы, анонсирующие новые инструменты и возможности. Платформа настолько быстро меняется, что на текущий момент невозможно знать всё, что она предлагает. Разработчику необходимо постоянно её изучать и пытаться использовать, ведь каждое обновление оптимизирует существующие решения.

По моему субъективному мнению, самый большой плюс Salesforce в том, что платформа заставляет думать при написании кода. В условиях ограниченных ресурсов правильно и быстро будет работать только хорошо оптимизированный код, поэтому некоторые «вольности», позволительные в других языках, здесь просто не будут работать.

Есть у Salesforce и минусы в виде довольно сырых решений. Но в данном случае не ошибается только тот, кто ничего не делает. Например, релиз фреймворка Lightning полностью изменил подход к разработке пользовательского интерфейса. Поначалу не всё было гладко: фреймворк не работал, ошибки не обрабатывались и никто не понимал, что с этим делать. Но Salesforce прилагает много усилий в доработке этого инструмента и сейчас прогресс очевиден - всё больше и больше решений разрабатываются именно на Lightning.

Salesforce Professionals Belarus. Начало сообщества

Я давно общаюсь с ребятами, работающими с платформой в разных компаниях. Все говорят, что нужно встречаться и общаться, но дальше слов дело не двигалось. Тогда решил взять инициативу на себя и организовать независимое, открытое сообщество, где каждый участник сможет влиять на его развитие.

Salesforce очень многообразная и динамично развивающаяся платформа, и на одном проекте практически нереально сочетать разные инструменты, как и нереально изучить всё в одиночку. Поэтому основная цель сообщества - обмен опытом и знаниями. Это будет интересно как тем, кто работает с Salesforce, так и тем, кто хочет сменить технологию.

В моей практике был случай, когда в команду пришел разработчик с большим опытом в Java. Я переживал, насколько ему интересно работать, ведь область довольно специфичная. Всё время подходил к нему и спрашивал: «Тебе интересно или нет?» Один раз он мне ответил: «Дима, перестань ко мне подходить, я за месяц работы на Salesforce написал больше кода, чем за 2 года работы на Java». Такие примеры вдохновляют и мотивируют. Хочется, чтобы профессионалы заговорили о Salesforce, хочется чтобы другие разработчики не считали, что на платформе неудобно работать. Я в таких случаях говорю, что конфету с обёрткой тоже есть неудобно.

Первый митап сообщества Salesforce Professionals Belarus

8 февраля в пространстве Event Space состоится первый митап сообщества Salesforce Professionals Belarus.

Я не только организатор, но и спикер, поэтому сейчас занимаюсь подготовкой доклада на тему «Salesforce REST APIs: реализация сложных DML операций». Тема носит практический характер, взята из моего реального опыта, проекта по интеграции Salesforce в другие системы. В качестве тизера скажу, что было сложно, мы с командой долго думали, как поступить наилучшим образом, рассматривали разные варианты. Участники митапа узнают, что же мы выбрали в итоге, и получат оценку всех возможных опций в зависимости от контекста.

Также расскажу об изменениях в Salesforce API. Разработчики, даже опытные, работающие с Salesforce 5 и более лет, не всегда знают о новых возможностях в API и по старинке пишут свои сервисы, хотя платформа сама может обрабатывать эти сложные структуры данных. Вторая тема митапа вполне хайповая - «Обзор Salesforce Einstein», спикер Павел Дрозд . Павел серьёзно интересуется искусственным интеллектом, нейронными сетями, даже пишет на эту тему дипломную работу и выступает на форумах за пределами Беларуси.

Помимо этого, на первом митапе состоится небольшое организационное собрание - познакомимся, решим, когда встретимся в следующий раз, обсудим, какие темы интересны. Поэтому приходите. Возможно, Salesforce - это именно то, в чём хочется себя проявить.

Эта публикация подготовлена в партнёрстве с ООО «Техартгруп»

Что такое ?

ООО «Техартгруп» УНП 190973325

Компания JET BI является одним из лидеров на рынке решений Business Intelligence в Беларуси. Наша команда – это более 40 талантливых, энергичных и целеустремленных экспертов , которые любят свою работу.

В рамках партнерской программы с Белорусским государственным университетом информатики и радиоэлектроники, мы разработали уникальный курс по обучению Salesforce разработчиков . В разработке материалов обучающей программы принимали участие учредители компании JET BI, архитекторы решений с многолетним опытом работы и множеством инновационных проектов, реализованных в США, Великобритании, Австралии и ряде стран Западной Европы.

Курс проводится в виде онлайн лекций, в офисе компании JET BI проходят 2 семинара и выпускной экзамен . В рамках курса необходимо выполнить ряд домашних заданий и реализовать практическое задание. Общий объем курса рассчитан на 80 часов . Курс является социально-образовательной инициативой учредителей компании JET BI по популяризации новейших технологий среди молодежи.

Почему Salesforce

    Salesforce - одна из самых инновационных компаний в мире, признанный лидер в области Cloud Computing

    №1 в мире на рынке CRM решений

    6 лет подряд является самой инновационной компанией в мире по версии Forbes (с 2011 по 2016)

    Признана №1 в программном обеспечении по версии Fortune world"s most admired companies 2014

    Является крупнейшим технологическим работодателем в Сан-Франциско по версии San Francisco Business Times

Ты можешь стать частью нашей команде, если

    Ты являешься студентом 3-5 курса университета

    Владеешь основами Web-разработки, OOП, Java, JavaScript и HTML5

    Владеешь английским языков на уровне Intermediate

    Хочешь построить успешную карьеру в IT

В ходе курса освещаются следующие темы

    Cloud Computing: Salesforce.com vision

    Data Modeling & APEX programming language

    Security in Salesforce

    Visualforce & Lightning

    Sales Cloud and Service Cloud

    Advanced APEX Development

Успешное окончание курсов дает тебе возможность трудоустройства в компании JET BI, позволит окунуться в мир передовых разработок в области корпоративного ПО, облачных технологий, приобрести ценные навыки, востребованные на мировом рынке. Работа в компании JET BI обеспечит тебе участие в разработке инновационных продуктов и решений, работа в команде опытных разработчиков, повышение уровня владения иностранным языком.

Обучение совершенно бесплатное!

Информацию о начале набора на курсы вы можете найти на нашем сайте, а также в социальных сетях.

Отправь нам своё резюме, и мы обязательно с тобой свяжемся!

Вы хотели бы внедрить Salesforce, но не знаете с чего начать? Наши специалисты помогут вам успешно внедрить платформу для управления продажами, маркетингом, сервисным обслуживанием, личными кабинетами.

Sales Cloud может поднять ваши продажи на новую высоту. Для его внедрения необходим всесторонний анализ ваших бизнес-процессов, в частности, работы отдела продаж. Наша компания готова подготовить прототип Sales Cloud для вашей организации, а так же показать примеры внедренных продуктов. Для создания профиля ваших клиентов производится кастомизация системы под ваши требования. О других нюансах внедрения Salesforce Sales Cloud читайте по ссылке ниже.

Обслуживание клиентов при помощи Service Cloud повышает их лояльность, и, как следствие, ведет к росту прибыли вашей компании. При внедрении Service Cloud следует учитывать особенности вашей телефонии, настройках сайта и мобильного приложения, откуда будут формироваться запросы пользователей. Так же важно правильно настроить эскалацию запросов путем настройки SLA – соглашении об уровне предоставления услуги (англ. Service Level Agreement).

Цены на внедрение Salesforce

Оставьте заявку, и наши специалисты обсудят ваши требования, проведут демонстрацию платформы и помогут получить выгодное предложение на внедрение и лицензии Salesforce.

Community Cloud позволяет выстраивать отношения с клиентами на новом уровне. Для внедрения этой системы необходим анализ требований и настройка личных кабинетов клиентов и партнеров. Так же необходимо обучение ваших сотрудников правилам работы с системой. Подробности читайте по ссылке ниже.

Внедрение Marketing Cloud (Pardot)

Анализ требований

Внедрение Salesforce Marketing Cloud (Pardot) начинается с выяснения требований вашей компании к улучшению маркетинговых кампаний в рамках бизнес-процессов. На основании первичного анализа подбирается оптимальная конфигурация Pardot. Все контакты из рассылок и других маркетинговых источников должны передаваться в Pardot – для этого их надо связать с CRM.

Для того чтобы почувствовать себя в роли Salesforce разработчика понадобится совсем мало усилий. В отличии от других платформ и языков, где необходимо настраивать минимальное локальное или удаленное окружение, salesforce предоставляет все прямо из коробки. Единственное, что вам понадобится это зарегистрировать developer organization (dev org). Приступить же к первым шагам и сделать свой hello world можно уже через несколько минут (после подтверждения пароля через почтовый ящик) прямо из браузера. Конечно для реальной полноценной работы понадобится Force.com IDE, но возможности, которые предоставляет браузерный интерфейс, вполне достаточны.

Опять же, я не занимаюсь переводом очень понятной и полноценной документации от Salesforce, поэтому сразу хочу отправить вас к одному документу, который позволит полностью охватить все нюансы разработки на salesforce буквально за несколько дней Force.com Workbook

Для нетерпеливых вот небольшая инструкция:

1. Регистрация dev org. Зарегистрировать dev org можно абсолютно бесплатно на сайте http://developer.force.com/ . Вверху есть замечательная кнопка Join now которая откроет перед вами форму регистрации. Смело вбиваем туда свои данные. Самым интересным полем будет Username - это ваш уникальный логин в форме email среди всех оргов, который существуют у salesforce. Поэтому здесь лучше указывать не сам email (который вы указали выше в соответствующем поле), а что-то логичное, что позволит понять что это за dev org и к чему он относится.
Например если у вас мыло [email protected], и проект называется hello world, то я бы указал для username следующее - [email protected] или [email protected] (или короче если не помещается). Это важно потому что в процессе работы с salesforce у вас появятся десятки или даже сотни этих самых dev org.

2. Создание страницы с контроллером

Чтобы попробовать свои силы создадим простую страницу (custom visualforce page) с контроллером (apex), которая выведет список контактов (contact).

К сведению, так как salesforce является CRM, из коробки в ней есть уже куча всякого нужного для бизнеса функционала. Это и модель данных с кучей стандартных объектов (таблиц по аналогии SQL) и ряд приложений со своим набором страниц, контроллеров и кучи всего всего. Плюс ко всему salesforce автоматически генерирует кучу страниц для выполнения GRUD операций как со стандартными, так и с созданными сами объектами. Т.е. для клиентов salesforce пользоваться бизнес решениями можно сразу после оплаты услуг и без вашего (разработчика) участия. Но часто этого самого функционала не хватает. Вот тут вас зовут.

Contact - это один из стандартных объектов (standard object) salesforce cо своим набором стандартных поле (standard fields) и дополнительных функционалом навешенным на него. Т.е. создавать его мы не будем. Более того при регистрации dev org в этом объекте (как и во многих других стандартных) создаются тестовые записи, что упрощает наш старт.

Открываем Setup -> App Setup -> Apex Classes и Pages. Cоздайте новую страницу с названием "Hello World" и apex class с названием "Hello_World_Controller".





Уже сейчас можно попробовать запустить страницу и увидеть первый результат.


Добавим код для отображения контактов.

Hello_World.page

Hello_World_Controller.cls
public with sharing class Hello_World_Controller { public List Contacts { get{ return ; } set;} }

Быстро? :)

А можно еще быстрее. Для этого необходимо включить Development Mode (Setup -> My Personal Information -> Personal Information -> Edit -> Development Mode (checkbox) = TRUE -> Save)
При открытии страницы в браузере внизу экрана будет появляться панель в которой можно редактировать исходный код как страницы, так и контроллера.

Важно - этот режим удобный, но глючный. Когда я пользовался данным режимом страницы с обильным ajax и javascript работали неправильно и помогало только отключение Development Mode.

Совет - не работайте в браузере, не редактируйте код в консолях и всяких окнах. Этот способ подходит лишь для незначительных изменений. .

Поделиться