|
Выбор варианта реализации решения.
|
|||
---|---|---|---|
#18+
Коллеги, Есть задача разработать определенное бизнес приложение. Энтерпрайз, интранет, проводки, документы и прочее. Бизнес-логика ясна, т.е. сделать это приложение на десктопе не представляет сложностей. Проблема в том, что требуется сделать это приложение в SharePoint 2010 Server. Строго и без обсуждения. И база данных, кстати, будет отдельная. Как новичек в sharepoint'е, я пошел по пути изучения литературы и адаптации своего десктопного опыта. Множество документации о том, как сделать вебчасти и прочие кусочки и очень мало информации (или у меня гугл кривой) о том, как построить комплексное решение. Поэтому я набросал и оттестировал пробные варианты. Да, так как база данных отдельная, то во всех вариантах она закрыта слоем wcf-служб, которые хостятся на веб-сервере в пуле sharepoint'а и реализуют основную бизнес логику. Итак реализация клиента: 1. Сильверлайт-приложение запакованное в веб-часть. Т.е. развернул на любом портале и работай. Вариант, хоть и наиболее близок мне, не очень понравился. 2. Вручную нарисованные application pages. Тоже не очень понравился вариант, т.к., на мой взгляд, сложно держать проект единым целым. Плюс доступ пользователей по узлам вида bla-bla\_layout\bla-bla имеет свои, еще не до конца разобранные особенности (честно, не очень углубился тут) и выглядит не очень. 3. Прикрученный asp.net mvc 2 внутрь сайта. Вариант нравится больше всех, т.к. проект собран целиком в студии, разворачивается на сайт автоматически (правки в web.config, настройки), вполне вменяемый и тестируемый подход, вменяемые url'ы, доступ к серверному контексту sharepoint'а, авторизация от него же и т.д. Из минусов - очень смущает его неподдерживаемость и недокументированность. Единственное, что нашел в книжке Dave Milner'а - "One approach that will not mix well with the current feature set in SharePoint 2010 is the MVC templates such as a MVC 2 or 3 application. This is because the URL rewrite features in MVC are not currently compatible with SharePoint 2010’s handling of navigation and web pages. While it may be possible to integrate it, a solution of this nature has too many points of potential failure. I do not recommend this approach." И хотя я нормально настроил роутин и на портале вместе сосуществуют обычные sharepoint'овсие страницы, application pag'ы и mvc'ные динамические вьюхи, меня смущает эта фраза. Резюмируя, я понимаю, что в отсутствии опыта и с кашей в голове далеко не уедешь, и поэтому прошу подсказать, каким образом можно реализовать "бизнес-приложение на sharepoint" так, чтобы это был отдельный проект (или пачка проектов) в visual studio, которое можно быстро развернуть на пустой портал, к которому можно прикрутить тесты, работать над которым можно нескольним сотрудника одновременно и чтобы оно работало с отдельной базой и имело доступ к серверному контексту sharepoint. Какие приняты подходы? Подойдет ли что-то из того, что я написал или бест-практикс говорит о другом? Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2012, 18:33 |
|
Выбор варианта реализации решения.
|
|||
---|---|---|---|
#18+
SPNewbieкаким образом можно реализовать "бизнес-приложение на sharepoint" так, чтобы это был отдельный проект (или пачка проектов) в visual studio, которое можно быстро развернуть на пустой портал, В SharePoint механизм deploy solution. Соответсвенно, в этот solution Вы можете запихнуть всё, что своей душе угодно: от мастер страниц и их потомков, до шаблонов веб-сайта с настроенными библиотеками, ве-частями и всем остальным. http://technet.microsoft.com/ru-ru/library/cc262995.aspx ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2012, 12:09 |
|
Выбор варианта реализации решения.
|
|||
---|---|---|---|
#18+
Rb-Sr, Да, с wsp всё понятно. Я готов или использовать встроенный механизм запаковки или даже, если понадобится, паковать скриптами, составляя манифесты вручную. Вопрос не в этом. Я понимаю, что очень неточно формулирую вопрос. Попробую объяснить. Я не могу понять, каким образом ведется/пишется/поддерживается проект определенного решения/приложения для sharepoint. Нужно ли это делать на простых страницах? И что в этом случае, рисовать их в sharepoint designer, потом выгружать и включать в пакет студии? Визуализация страниц, как я понял в студии не работает. А как же потом их поддерживать? Каждый раз править в designer'е и выгружать? Или принято такого рода решения делать на application page'ах? Или в сильверлайте? Или еще как? Нам подрядчик сделал одно приложения настроив его прямо в готовом портале, настроив там все странички, конфиги, допрограммировав фичи и всякие части, встроив это все туда же, в живой портал и назвал это дистрибутивом. Мне абсолютно неприемлем такой вариант. Я понимаю, что должен быть пакет, который мы разворачиваем на ферму и получаем работающее приложение (без данных, разумеется), но не донастраивая его на production-ферме. И я не нашел описания или примеров мало-мальски большого приложения. Как его делают, какой подход используют и как потом поддерживают? Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2012, 14:59 |
|
Выбор варианта реализации решения.
|
|||
---|---|---|---|
#18+
попробую выразить свое мнение (опыт на ШП 3года - неск. проектов) пробовали разрабатывать для ШП по-разному (причем именно всегда только через солюшн студии - дизайнер только как вспомогательное средство). Н-р, есть крупный проект (под 100 проектов в солюшене), который сначала делали как классич. asp.net приложение - со своей доменной моделью (упрятали все объекты Object Model, SPweb, SPSite), с IoC, Linq to Sharepoint, layers(DAL, Repository, Services etc), практически только Application pages и т.д. В конечном итоге уперлись в проблемы с производительностью, сложностью разработки, то что нельзя полностью скрыть объекты (типа splistitem) и т.д. После чего сложилось мнение, что нужно использовать как можно больше встроенных возможностей ШП - строить интерфейс "по шарепоинтовски" , site pages и т.д. В вашем случае, я так понял, что даже не будут использоваться BCS. Тогда что останется от шарика? Ну а солюшн постройте, так 1. проект с site tepmlate, где в onet прписываем фичи, навигацию, страницы и т.д + provisioningprovider, где если нужно делать доп. действия из кода (н-р, настройка прав и т.д.) 2. проекты ШП - каждый проект - это отдельный пакет. т.е. деплоим все пакеты и создаем сайт из готового темплейта апгрейд делаем передеплоем нужного пакета + если нужно Feature Upgrade + если нужно пишем срипт на ps + если нужно еще куча тонкостей (типа версионность workflow etc) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2012, 06:46 |
|
Выбор варианта реализации решения.
|
|||
---|---|---|---|
#18+
andmar_, Отлично, спасибо!!! Личный опыт - это как раз то, что интересно больше всего. Коллеги, делитесь опытом, кто как организовывал разработку. А от sharepoint у нас останется только название, хостинг, учетные записи, ну и может быть библиотеки документов + reporting + поиск. Позвольте задать несколько вопросов: 1. Если делать страницы как site pages - пользователь сможет, при наличии прав разумеется, их менять. Были ли какие-нибудь проблемы с этим? 2. Кто-нибудь пробовал прикручивать asp.net mvc? Т.е., как я писал в первом посте, прикрутить получилось и всё очень понравилось, но смущает то, что mvc для sharepoint официально не поддерживается. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2012, 09:01 |
|
Выбор варианта реализации решения.
|
|||
---|---|---|---|
#18+
SPNewbieandmar_, Отлично, спасибо!!! Личный опыт - это как раз то, что интересно больше всего. Коллеги, делитесь опытом, кто как организовывал разработку. А от sharepoint у нас останется только название, хостинг, учетные записи, ну и может быть библиотеки документов + reporting + поиск. Позвольте задать несколько вопросов: 1. Если делать страницы как site pages - пользователь сможет, при наличии прав разумеется, их менять. Были ли какие-нибудь проблемы с этим? 2. Кто-нибудь пробовал прикручивать asp.net mvc? Т.е., как я писал в первом посте, прикрутить получилось и всё очень понравилось, но смущает то, что mvc для sharepoint официально не поддерживается. Спасибо! -- UI HTML5(asp.net forms) + SP.js + MicrosoftAjax.js + (some lib.js) -- App CAML -> Content Types, Fields, Lists etc. C# -> EventReceivers and(or) WF(or Custom Activity) and(если нуна) WCF(REST) T4 -> CAML Types to C# Types, метаданные, .. и так по случаю нагенерить чего нить :] -- Source Code http://tfspreview.com/ ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2012, 21:23 |
|
|
start [/forum/topic.php?fid=12&fpage=16&tid=1330422]: |
0ms |
get settings: |
10ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
26ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 122ms |
0 / 0 |