Биты и байты.

Биты и байты.

вторник, 29 июля 2014 г.

Веб сервисы WCF

Есть одна технология для создания веб сервисов WCF (Windows Communication Foundation), построена на принципе контрактов  (точно также как фирмы заключают контракты друг с другом, что куда где и как), с помощью этих контрактов описывается формат взаимодействия, данных и сообщений.

Контракты служб [ServiceContract] описывают операции (методы), которые могут выполняться клиентом с помощью службы. Включает контракты необходимых операций [OperationContract] ;
Контракты данных [DataContract] определяют, какие типы данных принимаются и передаются службой. При передаче объекта или структурного типа в параметре операции, в действительности, надо передать лишь его состояние, а принимающая сторона должна преобразовать его обратно к своему родному представлению. Это называется маршалтинг по значению. Он реализуется посредством сериализации, когда пользовательские типы переводятся из CLR представлений в XML содержимое SOAP-конвертов. При  приёме параметров происходит десериализация, т.е. набор XML преобразуется в объект CLR и дальше передаётся для обработки;
Контракты ошибок [FaultContract] определяют, какие исключения инициируются службой, как служба обрабатывает их и передаёт своим клиентам;
Контракты сообщений [MessageContract], [MessageHeader] [MessageBodyHeader] позволяют службам напрямую взаимодействовать с сообщениями и моделировать структуру всего конверта SOAP.

WCF если вкратце это  прокачанный ASMX может все тоже самое плюс дополнительные возможности .
ASMX:
Легко и просто написать и настроить
Поддерживается только IIS
Вызов только по HTTP

WCF :
Большой вариант размещения классический в IIS  плюс  Windows Service , приложение Winforms, консольное приложение – полная свобода (пример хостинга в консольном приложении)
Поддерживает  HTTP (REST и SOAP), TCP/IP, MSMQ и другие протоколы
  • HTTP:                                                http://localhost:8001/MyService (в глобальной сети)
  • TCP:                                                   net.tcp://localhost:8002/TestService (в лок. сети)
  • IPC (именованные каналы):             net.pipe://localhost/TestService (на одном компьютере)
  • MSMQ (механизм очередей):         net.msmq://localhost/TestService
  • Одноранговые сети:                         net.p2p: (например, узлы GRID)
Улучшена безопасность
Работает быстрее

В общем WCF призван полностью заменить ASMX.  Попробуем это сделать.

воскресенье, 6 июля 2014 г.

SQL и картография

Информацию нужно уметь подавать красиво..
В SSRS есть возможность красиво отобразить данные в отчете, если там  есть атрибут география будь то страна, регион, город и под рукой есть соответствующая карта.
Попробуем сделать это за 30 мин.
В итоге получится, отчет по регионам России, размер и цвет точки будут указывать количество населения в каждом регионе.
При наведении мышкой на регион должна появляться подсказка с наименованием региона и количеством людей проживающих в этом регионе.
При клике на любой регион должна открыться детальная карта этого региона по районам,  в Reporting Services есть возможность сделать подложку карт Bing maps.
Здесь регионы уже будут раскрашены по цветам в зависимости от количества населения в регионе.
Для этого нам понадобится сделать 5 шагов.

пятница, 27 июня 2014 г.

Документы в бухучете

Хозяйственные процессы в компании состоят из хозяйственных операций.
Хозяйственная операция (с 2013 факт хозяйственной жизни)— событие, которое характеризует отдельные хозяйственные действия (факты), вызывающие изменения в составе, размещении имущества и (или) источниках его образования.
Отражаются хозяйственные операции в регистрах бухгалтерского учёта в хронологической последовательности и группируются на соответствующих счетах бухгалтерского учёта.
Хозоперации оформляют оправдательными документами – первичкой.

На основе первичных документов ведут бухучет.
В настоящее время кроме бумажных форм разработаны электронные формы первичных документов для удобного обмена между контрагентами.

Для подключения к системе ЭДО (электронного документооборота)  достаточно выбрать любого оператора из списка ФНС.
Как вариант можно попробовать  демо версию  тут .

Ниже приведены примеры некоторых первичных документов
  • Платежное поручение  - подтверждает уплату денег,
  • Накладная - переход права собственности, 
  • Акт -отражает факт выполненных работ.

вторник, 24 июня 2014 г.

Рисуем простые фигуры в SQL

Давно интересовал вопрос, что можно оригинального нарисовать в SQL, кроме квадрата Малевича конечно...
С эти вопросом я отправился к поисковому серверу.
Вдохновившись найденными скриптами в интернете, я решил  исследовать эту тему дальше.
У SQL Server 2008 есть специальная вкладка для просмотра графических данных.




К сожалению редактора для рисования таких картинок я  так и не нашел
Но у далось выяснить много интересного…

понедельник, 16 июня 2014 г.

SSAS - Обратная запись в кубы

Когда  требуется дать пользователю возможность для ввода  пользовательских  данных в куб непосредственно из клиента - отлично подойдет  комбинация Excel 2010 + SSAS.

1.Для этого создадим простой куб с 3 измерениями  Время, География, Продукт  и 2 показателя  Факт и План, выбираем функцию агрегирования  « Сумма»,
потому как  с другими функциями агрегирования WriteBack не работает.
2.Включаем опцию обратной записи для нашей основной секции, для этого переходим в раздел Partitions 
и правой кнопкой мышки нажимаем на секцию, в выпадающем меню выбираем writeback settings.

3.Обрабатываем наш куб и разворачиваем его на сервере.
4.Открываем Excel 2010 настраиваем подключение к нашей многомерной БД,  выбираем  «данные» подключения из других источников -> из служб аналитики, вводим название нашего сервера,
в разделе «параметры» -> выбираем опцию «Включить анализ что-если»

четверг, 8 мая 2014 г.

Отладка SOAP сообщений с Wireshark

При разработке веб сервисов, очень полезно видеть SOAP сообщения которые приходят на веб сервер,
для этого обычно используются сетевые анализаторы  сетевого траффика.
С помощью WireShark это можно сделать в пару кликов.
Зацени систему 5 шагов в действии!
1.Устанавливаем приложение с сайта WireShark.

Wireshark содержит два вида фильтров – захвата (Capture Filters) и отображения (Display Filters).

Как можно догадаться по названию,
Capture Filters служат для фильтрации еще на этапе захвата трафика.
Display Filters применяется уже для захваченного трафика.

2.Заходим в настройки, выбираем устройство с которого нужно выполнить захват траффика
Настраиваем Capture Filter (порт, протокол и тд)  для нашего случая  нужен  tcp port http,
если веб сервер работает по другому порту  отличному от 80  пишем свой фильтр или  не пишем ничего (если не понимаем как работает этот фильтр)

суббота, 3 мая 2014 г.

SQL 2012 - FILESTREAM и FILETABLE

Начиная с 2008 версии в SQL сервере появилась возможность хранить данные (фото, музыку, видео и прочие документы) типа VARBINARY(MAX) в файловой системе за пределами файла БД и управлять ими используя сам SQL сервер.
Данная опция называется FILESTREAM  и задается она следующим образом:

Обязательно в таблице должен быть задан столбец  с указателями UNIQUEIDENTIFIER ROWGUIDCOL NOT NULL UNIQUE !!
В итоге в файловой системе в специальной папке появятся файлы с названиями типа GUID которые будут связаны с этой таблицей
Использовать эту опцию будет целесообразно если средний размер  данных в столбце VARBINARY(MAX) больше 1-2 Мб.

Подробнее можно прочитать в книге The Art of SQL Server FILESTREAM (Jacob Sebastian & Sven Aelterman).
Здесь можно найти скрипты для настроек, примеры кода для работы с FILESTREAM для ASP.NET, C#, Silverlight, SSIS, SSRS и
много полезных советов.

Однако опция FILESTREAM  имеет ряд недостатков это и односторонняя целостность (если удалить файл со стороны файловой системы, информация из таблицы связанной таблицы не будет удалена  и работа с таблицей будет невозможна) и неудобная работа со стороны файловой системы (GUID названия файлов, сложно определить какой файл соответствует данному GUID, его тип и реальное название).

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

Для того чтобы воспользоваться  опцией  FILETABLE необходимо сделать всего лишь 5 простых шагов!

About