Sunday, March 12, 2006

AtLeap and Ad-hoc

К определенному отрезку времени у относительно разных людей из относительно разных мест появляются весьма схожие идеи.

Андрей Гребнев эффективно совмещая Java программирование с научной деятельностью (что уже было отмечено Intel и Sun) разрабатывает Blandware AtLeap (
предназначен для создания как контентно-базированных сайтов, так и
интернет-приложений со сложной бизнес- логикой
), выступающий в качестве строительного элемента для
КНОС (коммуникационная
научно-образовательная среда) – это распределенный набор взаимодействующих
независимых типовых программно-информационныхкомплексов. В своей основе, каждый,
из которых представляет собой, с точки зрения хранения – архив документов, с
точки зрения систематизации – коллекцию документов, с точки зрения использования
– портал. Однако наиболее общим определением будет электронная библиотека. Итак,
КНОС – это подкласс электронной библиотеки, это распределенная система с
открытым доступом, объединяющая коллекции, сервисы и людей для поддержки полного
жизненного цикла создания, распространения, использования и сохранения
полнотекстовых научных публикаций, представленных в слабоструктурированной
гетерогенной форме.Распределенность и взаимодействие отдельных
программно-информационных комплексов поддерживается на принципах Инициативы
Открытые Архивы (Open Archives Initiative). Которая, по сути, является
протоколом сбора метаданных. Когда протокол используется в качестве поисковой
машины, то информация из отдельных архивов обрабатывается так, как будто бы она
взята из одного архива. К настоящему моменту данный протокол используют уже
более 70 архивов мира. В их число входит и один из наиболее крупных бесплатных
архивов arXiv.org содержащий более 200 тыс. документов по физике, математике и
компьютерным наукам.

4 comments:

Oleg Protopopov said...

Мнение, сложившееся после беглого просмотра авторского описания AtLeap. На настоящий момент описанная система представляет собой Java-based CMS.
Ее преимущество перед другими (php-based) CMS системами заключается в том, что:
1) написана на Java
2) использует современные методы реализации ПО
3) потенциальная производительность
Недостатки:
1) реализовано мало готовых модулей (форум, ...)
2) разработчиков, владеющих java и готовых работать на интерес гораздо меньше чем владеющих php, к тому же освоить java гораздо сложнее и без обучения вообще удается не всем.
3) Приложения на Java необходимо хостить на сервере, имеющем servlet-container. Такой хостинг стоит всегда дороже чем для php-приложений.

Теперь если все это же, но человеческими словами. Это - еще одна (возможно, что даже очень и очень хорошая) реализация CMS. На настоящий момент она инкапсулирует только небольшое количество уже готовых стандартных модулей (типа форумов и т.д.)
Я к сожалению не могу оценить то, насколько эта система открыта для использования с другими системами. Надеюсь что знающие люди смогут заполнить этот пробел, так как он является принципиальным.
Если нет фактов, говорящих в пользу возможности 1) сделать этой разработке открытый интерфейс для внешних соединений и 2) наличие еще множества систем, позволяющих сделать то же самое, и которые можно независимо поддерживать, то смысла инвестировать время в работу с ней нет. Лучше подумать о том, на каких принципах построить систему, использующую другие системы - как свои составляющие. Построение связанной мета-системы. Вот хороший пример того, как это можно делать, используя специфику реализации HTTP:
http://utx.ambience.ru/
Надеюсь на дополнение и корректировку, так как в сумме идея написания приложений на Java лично мне очень импонирует.

Sergey Dmitriev said...

AЯ вот думал, что то, что ALeap реализует идею распределенности (когда независимые инсталяции системы могут взаимодейстовать друг с другом, формирую единую среду) явление не частое. А оказывается, мой любимый НПЖ тоже реализует этот подход, цитирую "
Распределенная сетевая структура

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

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

Взято с http://www.npj.ru/node/vvodnajadokumentacija . Вообще очень рекомендую этот документ почитать.

Andrey Grebnev said...

Парирую Олегу Протопопову

Рассуждение о преимуществах и недостатках PHP и Java в серверных решениях ведутся давно и довольно пылко. Как-то в интервью J2EE порталу Indicthreads http://indicthreads.com/interviews/244/java_cms_russia.html относительно сравнения Java и PHP я сказал следующее: «Java is not a panacea. In order to dig a small hole it is easier and quicker to use small tool – spade. If you need to dig a trench you are forced to use bulldozer.» (Java не панацея. Если вы хотите выкопать маленькую ямку легче и быстрее использовать маленький инструмент – лопату. Если вы хотите вырыть траншею, вы вынуждены использовать бульдозер.)

Если мы говорим об научно-образовательной среде то «лопаты» (PHP) здесь явно не достаточно. Ведь нам нужна платформа расширение которой не приводило бы к ухудшению качества. Другими словами мы вынуждены использовать абстракции, паттерны проектирования, многослойность и пр. И в этом случае отсутствие нормальной объектной ориентированности, нитей, возможностей отладки и пр. явно не говорит в пользу PHP. Аргумент что Java хостинг дороже не существенен, потому как университеты и прочие научно образовательные учреждения, как правило, имеют свои сервера для размещения. Не надо забывать, что мы говорим не о сайтах визитках коммерческих компаний.
Если под «открытый интерфейс для внешних соединений» вы подразумеваете интероперабельность, то SOA (Service Oriented Architecture) реализуется в Java значительно лучше чем в PHP.

С уважением Андрей Гребнев.

Sergey Dmitriev said...

Я прочитал интервью и почитал про SOA.

По поводу выбора CMS: а в какой плоскости по отношению к обсуждаемым плюсам и минусам лежит связка zope/plone (ведь и не Ява и не ПХП)? Не у него ли наиболее интересные перспективы? Или я совсем не в курсе?

А обрисовка SOA, данная у John Reynolds (http://weblogs.java.net/blog/johnreynolds/archive/2005/01/the_soa_elevato.html)
на меня произвела радостное впечатление (спасибо за дискуссию, я хоть чуть updated буду):
SOA is an architectural style that encourages the creation of loosely coupled business services
Loosely coupled services that are interoperable and technology-agnostic enable business flexibility

An SOA solution consists of a composite set of business services that realize an end-to-end business process

Each service provides an interface-based service description to support flexible and dynamically re-configurable processes

On the implementation front, we need to clear up the following common misconceptions:

Services aren't tied to user interfaces. User interfaces invoke services. Many user interfaces can use the same service. A partner may build a user interface on top of a your service, and you may build a user interface on top of a partner's service.
Services can be implemented in any language, COBOL, Java, etc., but all services must support the same invocation/communication protocols (for example XML/SOAP).