SlideShare a Scribd company logo
1 of 18
Корпоративные приложения
Бабичев А.А.
Корпоративное приложение
Общая схема
Взаимодействие с другими
структурами
Диаграмма прецедентов
Расчет и оплата услуг ЖКХ (ARIS)
Расчет и оплата услуг ЖКХ (ARIS)
Рынок ПО
«банковский»
Ставим из коробки или
Сервер приложений
Выбор фраемворков
package ru.marinecollege.erc.entity.objects;
import ru.marinecollege.erc.entity.subjects.Owner;
import javax.persistence.*;
@Entity
@Table(name = "ClientAccount")
@NamedQueries(value = {
@NamedQuery(name = "ClientAccount.getAll",
query = "select o from ClientAccount o"),
})
public class ClientAccount {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
@Column(name = "id_Account")
int idAccount;
@ManyToOne
@JoinColumn(name = "id_Owner")
Owner owner;
@ManyToOne
@JoinColumn(name = "id_Room")
Room room;
//getters and setters…
}
Пример класса сущности
Пример Stateless bean
package ru.marinecollege.erc.dao.impl;
import ru.marinecollege.erc.dao.ClientAccountService;
import ru.marinecollege.erc.entity.objects.ClientAccount;
import ru.test.entity.Emp;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import java.util.List;
@Stateless
public class ClientAccountServiceImpl implements ClientAccountService {
@PersistenceContext(unitName = "ModelXA")
private EntityManager emXA;
@Override
public List<ClientAccount> getAll(){
return emXA.createNamedQuery("ClientAccount.getAll").getResultList();
}
@Override
public ClientAccount get(int idAccount) {
return emXA.find(ClientAccount.class, idAccount);
}
}

More Related Content

Similar to Proekt raschetnogo tsentra_zh_k_kh

Alfa Bank Oracle Cloud Day 2015. CloudControl 12c Configuration Control
Alfa Bank Oracle Cloud Day 2015. CloudControl 12c Configuration ControlAlfa Bank Oracle Cloud Day 2015. CloudControl 12c Configuration Control
Alfa Bank Oracle Cloud Day 2015. CloudControl 12c Configuration ControlAlexey Zhukov
 
TК°Conf. 10 проблем автоматизации UI и их решение с помощью JDI. Роман Иовлев.
TК°Conf. 10 проблем автоматизации UI и их решение с помощью JDI. Роман Иовлев.TК°Conf. 10 проблем автоматизации UI и их решение с помощью JDI. Роман Иовлев.
TК°Conf. 10 проблем автоматизации UI и их решение с помощью JDI. Роман Иовлев.TKConf
 
"API «Битрикс24» — разбор с пристрастием". Александр Сербул, 1С-Битрикс
"API «Битрикс24» — разбор с пристрастием". Александр Сербул, 1С-Битрикс"API «Битрикс24» — разбор с пристрастием". Александр Сербул, 1С-Битрикс
"API «Битрикс24» — разбор с пристрастием". Александр Сербул, 1С-БитриксYandex
 
Secr презентация гардиенков
Secr презентация гардиенковSecr презентация гардиенков
Secr презентация гардиенковLuxoftTraining
 
Андрей Богомолов Автоматизация дистрибуции информации о наличии и цене товара...
Андрей Богомолов Автоматизация дистрибуции информации о наличии и цене товара...Андрей Богомолов Автоматизация дистрибуции информации о наличии и цене товара...
Андрей Богомолов Автоматизация дистрибуции информации о наличии и цене товара...Транслируем.бел
 
2015-12-06 Максим Юнусов - Проектирование REST приложения, или нужно ли прогр...
2015-12-06 Максим Юнусов - Проектирование REST приложения, или нужно ли прогр...2015-12-06 Максим Юнусов - Проектирование REST приложения, или нужно ли прогр...
2015-12-06 Максим Юнусов - Проектирование REST приложения, или нужно ли прогр...HappyDev
 
DUMP-2013 Frontend - Knockoutjs на примере 2ГИС-Онлайн - Таратухин Илья
DUMP-2013 Frontend - Knockoutjs на примере 2ГИС-Онлайн - Таратухин ИльяDUMP-2013 Frontend - Knockoutjs на примере 2ГИС-Онлайн - Таратухин Илья
DUMP-2013 Frontend - Knockoutjs на примере 2ГИС-Онлайн - Таратухин Ильяit-people
 
Android Development Course in HSE lecture #1
Android Development Course in HSE lecture #1Android Development Course in HSE lecture #1
Android Development Course in HSE lecture #1Empatika
 
Философия Application Security
Философия Application SecurityФилософия Application Security
Философия Application SecurityVladimir Kochetkov
 
Аспектно-Ориентированный Подход
Аспектно-Ориентированный ПодходАспектно-Ориентированный Подход
Аспектно-Ориентированный Подходakopium
 
MyBatis на практике
MyBatis на практикеMyBatis на практике
MyBatis на практикеVitebsk Miniq
 
Java осень 2012 лекция 8
Java осень 2012 лекция 8Java осень 2012 лекция 8
Java осень 2012 лекция 8Technopark
 
«История разработки eazyBI», Raimonds Simanovskis (eazyBI, Латвия)
«История разработки eazyBI», Raimonds Simanovskis (eazyBI, Латвия)«История разработки eazyBI», Raimonds Simanovskis (eazyBI, Латвия)
«История разработки eazyBI», Raimonds Simanovskis (eazyBI, Латвия)Mail.ru Group
 
Database (Lecture 14 – database)
Database (Lecture 14 – database)Database (Lecture 14 – database)
Database (Lecture 14 – database)Noveo
 
Обзор платформы B4
Обзор платформы B4Обзор платформы B4
Обзор платформы B4Bars Group
 
Паттерны быстрой разработки WPF MVVM бизнес-приложений
Паттерны быстрой разработки WPF MVVM бизнес-приложенийПаттерны быстрой разработки WPF MVVM бизнес-приложений
Паттерны быстрой разработки WPF MVVM бизнес-приложенийGoSharp
 
Knockout.JS на примере 2ГИС-Онлайн
Knockout.JS на примере 2ГИС-ОнлайнKnockout.JS на примере 2ГИС-Онлайн
Knockout.JS на примере 2ГИС-ОнлайнDevDay
 
Классификация экономико-технических атак. Спикер: Григорий Васильков
Классификация экономико-технических атак. Спикер: Григорий ВасильковКлассификация экономико-технических атак. Спикер: Григорий Васильков
Классификация экономико-технических атак. Спикер: Григорий ВасильковCyber Fund
 

Similar to Proekt raschetnogo tsentra_zh_k_kh (20)

Alfa Bank Oracle Cloud Day 2015. CloudControl 12c Configuration Control
Alfa Bank Oracle Cloud Day 2015. CloudControl 12c Configuration ControlAlfa Bank Oracle Cloud Day 2015. CloudControl 12c Configuration Control
Alfa Bank Oracle Cloud Day 2015. CloudControl 12c Configuration Control
 
TК°Conf. 10 проблем автоматизации UI и их решение с помощью JDI. Роман Иовлев.
TК°Conf. 10 проблем автоматизации UI и их решение с помощью JDI. Роман Иовлев.TК°Conf. 10 проблем автоматизации UI и их решение с помощью JDI. Роман Иовлев.
TК°Conf. 10 проблем автоматизации UI и их решение с помощью JDI. Роман Иовлев.
 
"API «Битрикс24» — разбор с пристрастием". Александр Сербул, 1С-Битрикс
"API «Битрикс24» — разбор с пристрастием". Александр Сербул, 1С-Битрикс"API «Битрикс24» — разбор с пристрастием". Александр Сербул, 1С-Битрикс
"API «Битрикс24» — разбор с пристрастием". Александр Сербул, 1С-Битрикс
 
Secr презентация гардиенков
Secr презентация гардиенковSecr презентация гардиенков
Secr презентация гардиенков
 
Mobilefest2012
Mobilefest2012Mobilefest2012
Mobilefest2012
 
Андрей Богомолов Автоматизация дистрибуции информации о наличии и цене товара...
Андрей Богомолов Автоматизация дистрибуции информации о наличии и цене товара...Андрей Богомолов Автоматизация дистрибуции информации о наличии и цене товара...
Андрей Богомолов Автоматизация дистрибуции информации о наличии и цене товара...
 
2015-12-06 Максим Юнусов - Проектирование REST приложения, или нужно ли прогр...
2015-12-06 Максим Юнусов - Проектирование REST приложения, или нужно ли прогр...2015-12-06 Максим Юнусов - Проектирование REST приложения, или нужно ли прогр...
2015-12-06 Максим Юнусов - Проектирование REST приложения, или нужно ли прогр...
 
My batis
My batisMy batis
My batis
 
DUMP-2013 Frontend - Knockoutjs на примере 2ГИС-Онлайн - Таратухин Илья
DUMP-2013 Frontend - Knockoutjs на примере 2ГИС-Онлайн - Таратухин ИльяDUMP-2013 Frontend - Knockoutjs на примере 2ГИС-Онлайн - Таратухин Илья
DUMP-2013 Frontend - Knockoutjs на примере 2ГИС-Онлайн - Таратухин Илья
 
Android Development Course in HSE lecture #1
Android Development Course in HSE lecture #1Android Development Course in HSE lecture #1
Android Development Course in HSE lecture #1
 
Философия Application Security
Философия Application SecurityФилософия Application Security
Философия Application Security
 
Аспектно-Ориентированный Подход
Аспектно-Ориентированный ПодходАспектно-Ориентированный Подход
Аспектно-Ориентированный Подход
 
MyBatis на практике
MyBatis на практикеMyBatis на практике
MyBatis на практике
 
Java осень 2012 лекция 8
Java осень 2012 лекция 8Java осень 2012 лекция 8
Java осень 2012 лекция 8
 
«История разработки eazyBI», Raimonds Simanovskis (eazyBI, Латвия)
«История разработки eazyBI», Raimonds Simanovskis (eazyBI, Латвия)«История разработки eazyBI», Raimonds Simanovskis (eazyBI, Латвия)
«История разработки eazyBI», Raimonds Simanovskis (eazyBI, Латвия)
 
Database (Lecture 14 – database)
Database (Lecture 14 – database)Database (Lecture 14 – database)
Database (Lecture 14 – database)
 
Обзор платформы B4
Обзор платформы B4Обзор платформы B4
Обзор платформы B4
 
Паттерны быстрой разработки WPF MVVM бизнес-приложений
Паттерны быстрой разработки WPF MVVM бизнес-приложенийПаттерны быстрой разработки WPF MVVM бизнес-приложений
Паттерны быстрой разработки WPF MVVM бизнес-приложений
 
Knockout.JS на примере 2ГИС-Онлайн
Knockout.JS на примере 2ГИС-ОнлайнKnockout.JS на примере 2ГИС-Онлайн
Knockout.JS на примере 2ГИС-Онлайн
 
Классификация экономико-технических атак. Спикер: Григорий Васильков
Классификация экономико-технических атак. Спикер: Григорий ВасильковКлассификация экономико-технических атак. Спикер: Григорий Васильков
Классификация экономико-технических атак. Спикер: Григорий Васильков
 

Proekt raschetnogo tsentra_zh_k_kh

Editor's Notes

  1. Это приложение для оперативного доступа сотрудников, клиентов к корпоративным ресурсам компании. Преимущества: 1)Легкость интеграции не только с интранет, но и с интернет-ресурсами. 2)Кроссплатформенность — пользователи (сотрудники, клиенты) могут работать под разные операционные системы и на разных устройствах. 3) Гибкие возможности по визуальному и функциональному представлению интерфейса. 4) Логика веб-приложения сосредоточена на сервере. 5) Затраты на обучение персонала либо отсутствуют полностью, либо очень низки, так как клиентская часть работает через знакомый пользователю веб-интерфейс 6) Низкие затраты на поддержку ПО.  Специфика корпоративного приложения. Практически все функции приложения можно определить тремя пунктами: Сбор данных; Обработка данных; Генерация отчетов; На данный момент наиболее популярна трехуровневая архитектура, в которой, в соответствии с функционалом, выделяется три уровня: Уровень данных; Уровень бизнес-логики; Уровень представлений;
  2. Давайте рассмотрим пример конкретного бизнес-процесса, что бы чуть более лучше понимать, что собой представляет бизнес-процесс, и так ли сильно его нужно автоматизировать. 
  3. Потребитель услуг ЖКХ  Расчетный центр Показания приборов учета; Заявление о недопоставке услуг, подписанное поставщиком данных услуг; Квитанция об оплате счета. Расчетный центр  Потребитель услуг ЖКХ Счет; Справка финансово-лицевого счета; Выписка из домовой книги. Центр приема платежей Расчетный центр Квитанции об оплате; Акт сверки. Поставщик коммунальных услуг  Расчетный центр Данные об установленных счетчиках; Акт недопоставки услуг; Акт сверки. Расчетный центр  Поставщик коммунальных услуг Сальдовая ведомость по услугам, по лицевым счетам, по лицевым счетам в разрезе услуг; Реестр оплаченных лицевых счетов; Счет на оплату услуг расчетного центра; Акт сверки. Расчетный центр  Орган соцзащиты Информация обо всех начислениях и оплате; Данные о зарегистрированных жителях, тарифах и фактических расходах, необходимых для расчета льгот; Информация о прибытии/убытии граждан. Расчетный центр  Управляющая компания Счет на оплату услуг расчетного центра; Акт сверки. Управляющая организация  Расчетный центр Сведения о жилом фонде; Информация о прибытии/убытии граждан; Акт сверки. Орган исполнительной власти муниципального образования  Расчетный центр Постановление о тарифах.
  4. На первый взгляд, процесс довольно прост, и не совсем понятно, так ли здесь нужно что-то автоматизировать. Однако, если посмотреть на него более детально...
  5. И так, мы ответили на вопрос – Зачем нам корпоративные приложения? Перейдём к вопросу – Откуда берутся корпоративные приложения? 
  6. Современный рынок корпоративного ПО предлагает огромнейшее количество решений для автоматизации практически любых задач. Тем не менее практически в каждой более менее крупной компании есть свой отдел, занимающийся разработкой корпоративного ПО.    Во первых — это стоимость. Приложения из Oracle E-Business Suite стоят в среднем от 5 до 20 килобаксов, плюс поддержка где-то ешё на тысячу /полторы. С учётом того, что большая часть его функциональности не пригодится, покупка его может быть оправдана только в случае компаний неимоверных масштабов.  В случае с большинством корпоративных систем - она дорабатывается под нужды маркетинга практически непрерывно: каждую неделю внедряется какая-нибудь новая фича, порожденная богатым воображением внутренних заказчиков.  Понятно, что ни одна сторонняя система не сможет обеспечить абсолютной гибкости настроек, а держать основное ПО компании на аутсорсе мягко говоря рискованно. 
  7. И так, мы решили писать своё enterprise-приложение. Какой подход выбрать? Вариантов тут минимум три.
  8. БД oracle за несколько сотен тысяч килобаксов, и большая часть логики при этом реализована в виде хранимых процедур на PL/SQL
  9. DotNet это набор нескольких технологий, программного обеспечения, стандартов и средств разработки. Основное преимущество dotNet для потребителя - реализация единого информационного пространства, соединяющего его с компьютерами и программами, а также ПО между собой. Разработчикам же она позволяет просто и быстро создавать нужные продукты. JavaEE Спецификации детализированы настолько, чтобы обеспечить переносимость программ с одной реализации платформы на другую. Основная цель спецификаций — обеспечить масштабируемость приложений и целостность данных во время работы системы. JEE во многом ориентирована на использование её через веб как в интернете, так и в локальных сетях. Вся спецификация создаётся и утверждается через JCP (Java Community Process) в рамках инициативы Sun Microsystems Inc. JEE является промышленной технологией и в основном используется в высокопроизводительных проектах, в которых необходима надежность, масштабируемость, гибкость.
  10. Требования к бизнес-логике: поддержка сохранности данных (persistence); данные должны быть в сохранности даже после остановки программы поддержка распределённых транзакций поддержка параллельного изменения данных и многопоточность поддержка событий безопасность и ограничение доступа к данным поддержка автоматизированной установки на сервер приложений удалённый доступ
  11. Целостность кода и данных Размещение бизнес-логики на выделенном сервере или ограниченном числе серверных компьютеров гарантирует доступ к обновленному и модернизированному ПО для всех клиентов. Это исключает риск доступа и управления данными из устаревших и, возможно, несовместимых программ. Централизованное управление Изменения в конфигурации прикладных программ, такие как, например, смена сервера баз данных, выполняются централизованно. Безопасность Централизованные средства, через которые поставщик услуг (сервис-провайдер) может управлять доступом к данным и компонентам приложения, позволяют выполнять проверку подлинности потенциально ненадежных клиентов в среднем слое и не затрагивать уровень базы данных. Производительность Сервер приложений может решать задачи балансировки сетевого трафика и распределения нагрузки между другими физическими серверами системы. Общая стоимость владения Совокупность перечисленных выше преимуществ, а в дополнение к ним перераспределение затрат на оборудование с клиентской на серверную сторону, может привести к экономии средств для организации. Так же на снижении общей стоимости владения может отразиться практика аренды программного обеспечения. Справедливости ради нужно отметить, что стоимость самого серверного ПО, а также затраты на его внедрение и сопровождение могут быть весьма высокими. 12.04.15 Недостатки Централизация Системы, построенные на основе сервера приложений, имеют один основной недостаток, присущий всем централизованным решениям — «падение» сервера приведет к недоступности программ для всех клиентов. К тому же эффекту приведут и неполадки в сетевом подключении. Защита информации Эта проблема, в принципе, актуальна для любых сетевых решений, использующих для передачи данных инфраструктуру публичных сетей. Специфика корпоративного приложения. Практически все функции приложения можно определить тремя пунктами: Сбор данных; Обработка данных; Генерация отчетов; На данный момент наиболее популярна трехуровневая архитектура, в которой, в соответствии с функционалом, выделяется три уровня: Уровень данных; Уровень бизнес-логики; Уровень представлений;
  12. JavaServer Faces (JSF) — это фреймворк для веб-приложений, написанный на Java. Он служит для того, чтобы облегчать разработку пользовательских интерфейсов для Java EE-приложений. Enterprise JavaBeans (также часто употребляется в виде аббревиатуры EJB) — спецификация технологии написания и поддержки серверных компонентов, содержащих бизнес-логику. Является частью Java EE. сессионные (Session Beans), которые бывают stateless (без состояния) stateful (с поддержкой текущего состояния сессии) singleton (один объект на все приложение; начиная с версии 3.1) управляемые сообщениями (Message Driven Beans) — их логика является реакцией на события в системе Java Persistence API (JPA) — API, входящий с версии Java 5 в состав платформ Java SE и Java EE, предоставляет возможность сохранять в удобном виде Java-объекты в базе данных.